首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Rails回形针“未被”识别“命令”识别

Rails回形针“未被”识别“命令”识别
EN

Stack Overflow用户
提问于 2012-11-04 23:15:28
回答 4查看 4.4K关注 0票数 4

当试图将png保存到带有回形针附件的模型时,我收到了一个错误。

我的User模型:

代码语言:javascript
代码运行次数:0
运行
复制
class User < ActieRecord::Base
  attr_accessible :icon
  has_attached_file :icon, :url => "/system/users/icon/:hash.:extension",
    :hash_secret => "superSecretHashSecret",
    :styles => { :medium => "300x300>", :thumb => "100x100>" }
end

尝试设置图标的示例:

代码语言:javascript
代码运行次数:0
运行
复制
u = User.last
u.icon = open(Rails.root + "spec/fixtures/files/example.png")
u.save

示例模型错误:

代码语言:javascript
代码运行次数:0
运行
复制
:icon => ["/var/folders/43/810gn/T/example20121104-36855-1v7t136.png is not recognized by the 'identify' command."]

有很多人发布了类似的问题,特别是this one,但这些解决方案都不适合我。

正确设置了我的command_path:

代码语言:javascript
代码运行次数:0
运行
复制
O:~ $ which identify
/usr/local/bin/identify

development.rb

代码语言:javascript
代码运行次数:0
运行
复制
Paperclip.options[:command_path] = "/usr/local/bin/"

,这可能仍然是问题所在。在尝试使用“直接识别”时,会得到以下错误:

代码语言:javascript
代码运行次数:0
运行
复制
O:~ $ identify workspace/app/spec/fixtures/files/example.png 
dyld: Library not loaded: /usr/lib/libltdl.7.dylib
  Referenced from: /usr/local/bin/identify
  Reason: image not found
Trace/BPT trap: 5

对这里发生了什么有什么建议吗?

我试过重新安装ImageMagick

代码语言:javascript
代码运行次数:0
运行
复制
brew unlink imagemagick
brew install imagemagick

其他人则建议添加Rmagick。这绝对不是使用剪纸夹的要求,也没有帮助。

建议的另一个解决方案是删除:style属性。不过,这不是解决办法。我需要对图像进行处理。

我在我的项目中有一个处理不是图像/不做任何处理的文档的文件剪辑在我的项目中处理另一个模型。所以我知道这可能与此有关。

对于如何解决这一问题,还有其他建议吗?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-11-05 00:08:15

最终的解决方案是安装libtool。这也是最好的建议here。事实证明,我的问题更加复杂,因为homebrew没有更新,并且处于一种状态,在这种状态下,如果不强制进行主签出,就无法对其进行更新。

对于将来面临这一问题的人,我建议手动检查identify命令是否实际工作,即使它在您的路径中。

代码语言:javascript
代码运行次数:0
运行
复制
identify /path/to/some/image

如果失败,它将显示如下所示:

代码语言:javascript
代码运行次数:0
运行
复制
O:~ $ identify workspace/app/spec/fixtures/files/example.png 
dyld: Library not loaded: /usr/lib/libltdl.7.dylib
  Referenced from: /usr/local/bin/identify
  Reason: image not found
Trace/BPT trap: 5

在本例中,请尝试安装libtool

代码语言:javascript
代码运行次数:0
运行
复制
brew install libtool

如果此操作失败,请运行brew update。如果继续失败,请确保安装了最新的Xcode,然后再次尝试更新。

如果您能够成功地使用identity,您就会知道这是有效的。看起来会是这样的:

代码语言:javascript
代码运行次数:0
运行
复制
O:~ $ identify ~/workspace/app/spec/fixtures/files/example.png 
~/workspace/app/spec/fixtures/files/example.png PNG 200x201 200x201+0+0 8-bit DirectClass 66.1KB 0.000u 0:00.000

“欢乐合唱团”的答案也很有可能奏效。我还没有看过那个安装程序。

票数 5
EN

Stack Overflow用户

发布于 2012-11-05 00:02:15

这是一个ImageMagick安装问题。

初试

代码语言:javascript
代码运行次数:0
运行
复制
brew update
brew upgrade imagemagick

如果这不起作用,请使用magick脚本来解决这个问题:https://github.com/maddox/magick-installer

代码语言:javascript
代码运行次数:0
运行
复制
curl https://raw.github.com/maddox/magick-installer/master/magick-installer.sh | sh

或者,在新版本的依赖库中使用magick-installer的分支:

代码语言:javascript
代码运行次数:0
运行
复制
curl https://raw.github.com/GTSouza/magick-installer/master/magick-installer.sh | sh
票数 9
EN

Stack Overflow用户

发布于 2013-07-26 19:23:20

这可能是由于使用旧版本的剪纸夹与新的和不兼容版本的可卡因宝石。您可以使用bundle update paperclip更新回形针创业板版本。它将根据兼容性更新回形针和可卡因版本。

https://github.com/thoughtbot/paperclip/issues/1038

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13223973

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档