调整大小错误 - Paperclip :: Errors :: NotIdentifiedByImageMagickError

时间:2013-03-23 02:01:32

标签: ruby-on-rails image styles paperclip

我刚将paperclip安装到我的应用程序中以上传图像,一切运行正常,直到我尝试添加样式以使图像调整大小。 (我可以在添加此代码之前上传图片)

on pins.rb:

has_attached_file :image, styles: { medium: "300x300>" }

然后我将该类添加到_pin.html.rb:

<td><%= image_tag pin.image(:medium) %></td>

但是现在,当我尝试上传图片时,我收到错误:

Paperclip::Errors::NotIdentifiedByImageMagickError

当我删除样式时,它工作正常(没有调整大小),但调整大小的东西搞砸了。我尝试了不同的文件类型和文件名。我在谷歌上搜索过这个错误,并且所有解决方案都不适合我。最受欢迎的是降级可卡因,但当我尝试它时,我收到了消息:

Bundler could not find compatible versions for gem "cocaine":
In Gemfile:
paperclip (~> 3.4.1) ruby depends on
cocaine (~> 0.5.0) ruby

cocaine (0.3.2)

我的rails服务器正在返回消息:

Started GET "/assets/application.js?body=1" for 127.0.0.1 at 2013-03-22 21:50:05 -0400
Served asset /application.js - 304 Not Modified (1ms)
[2013-03-22 21:50:05] WARN Could not determine content-length of response body. Set content-length of the response or set Response#chunked = true

有任何帮助吗?如果有帮助的话,我会在https://github.com/jeremybelcher/omrails的github上找到它。

5 个答案:

答案 0 :(得分:2)

要回答Rich Peck的问题,您不必直接将其添加到模型中 - 您可以将其添加到/config/environments/development.rb中。这样它只会影响您的开发版本,而不会影响您的生产版本。

所以在我的情况下,我刚刚添加了

Paperclip.options[:command_path] = 'C:\Program Files\ImageMagick-6.8.7-Q16'

到我的config / environments / development.rb文件的末尾,它就像一个魅力。

答案 1 :(得分:1)

完全相同的问题与相同的omrails分配 - 重新启动我的机器修复了我的问题。

答案 2 :(得分:0)

您可能尚未安装imagemagick,并且未在应用程序中指出它。

documentation中所述:

  

必须安装ImageMagick并且Paperclip必须能够访问它。至   确保它在命令行上运行which convert(其中一个)   ImageMagick实用程序)。这将为您提供路径   实用程序已安装。例如,它可能会返回   的/ usr / local / bin中/转换。

     

在开发模式下,您可以将此行添加到   配置/环境/ development.rb):

Paperclip.options[:command_path] = "/usr/local/bin/"

答案 3 :(得分:0)

我遇到了这个问题,并通过在上传模型中添加 Paperclip.options[:command_path] = "YOUR_PATH_TO_IMAGE_MAGICK"来解决此问题(在我的情况下是image.rb):

(Windows 7,Rails 4&amp; Ruby 2.0):

#Image Upload 
has_attached_file :image,
    :command_path => 'C:\RailsInstaller\ImageMagick',
    :styles => { :medium => "x300", :thumb => "x100" },
    :default_url => "xxxxx",
    :storage => :s3,
    :bucket => 'xxxxxx',
    :s3_credentials => S3_CREDENTIALS

仍然致力于使其成为发展的条件。生产

答案 4 :(得分:0)

1-我有同样的问题,当我配置动态链接器运行时绑定以使用ldconfig command创建必要的链接并缓存到最新的共享库时,我解决了它。

所以你需要使用以下命令:

sudo ldconfig /usr/local/lib

实际上,我建议使用how-to-install-image-magick-and-setup-paperclip的步骤重新安装imagemagick。

2-您需要在development.rb文件中添加以下代码:

Paperclip.options[:command_path] = "/usr/local/bin/"