Windows 7上的Paperclip :: Errors :: NotIdentifiedByImageMagickError

我将通过Mattan Griffel的“One Month Rails”( http://onemonthrails.com/ )课程。 我正在尝试使用paperclip gem上传图像。 初始安装和使用情况很好,直到他添加了一行来减少图像的大小。 这被放置在app / models / pin.rb中,如他的教程中所示:

has_attached_file :image, styles: { medium: "320x240>" } 

它一直有效,直到样式:{}部分被添加。 我还更新了我的部分传递:medium方法。

我正在使用:paperclip(3.4.1),可卡因(0.5.1)和rails(3.2.12)。 我已经看到其他post用自制软件修复了,但我在Windows 7机器上,我相当确定不适用。 如果我需要发布任何其他内容,请告诉我。

我正在遵循相同的课程。 经过几次gem更改(尝试旧版本的可卡因,等等……)解决我问题的方法是将此行添加到pin.rb:

 Paperclip.options[:command_path] = 'C:/Program Files/ImageMagick-6.8.5-Q16' 

belongs_to :user之前

(更改图像magick安装路径的路径)

在此之后,运行软件包更新并重置rails服务器。

 Paperclip.options[:command_path] = 'C:/Program Files/ImageMagick-6.8.9-Q16' 

到这个文件。

\config\environments\development.rb

一定要跑

 which convert 

所以你知道什么版本号,不要复制和粘贴另一个版本号。

重启rails服务器

虽然它显示了我运行which convert的路径时,我下载了ImageMagick并单独安装并给出了路径并添加了q256所提及的线路并且它工作了!

我使用的是ImageMagick版本6.7.9 。 所以除了添加command_path之外,我还得更新到最新版本的ImageMagick,即6.8.8

只是为了扩展q256的答案,更新此文件可能会导致它在执行推送时在heroku上中断,因为互联网上的服务器将不知道如何找到安装在本地硬盘驱动器上的程序。

为Windows用户修复此问题的更正确方法(至少我发现)是更新config-> environments-> development.rb下的development.rb文件并将该行放在文件末尾。

 Paperclip.options[:command_path] = 'C:/Program Files/ImageMagick-6.8.5-Q16' 

希望能够帮助某人,并且在保存文件后不要忘记重启rails服务器,请注意不需要更新捆绑包。