Heroku:如何使用Paperclip运行Imagemagick

19

我在我的 Mac OS X 计算机上安装了 ImageMagick,现在我想将其部署到 Heroku。我已经在 Heroku 上安装了 Paperclip 插件,但是在上传图片时出现以下错误:

Paperclip::CommandNotFoundError

我之前在电脑上没有安装ImageMagick时也遇到过这个错误,但现在我想在Heroku上部署它,我该如何让ImageMagick在Heroku上正常工作?

3个回答

30

在Heroku应用中是否包含了RMagick gem?这对于在Ruby代码和ImageMagick之间进行接口很必要。

默认情况下,ImageMagick是Heroku平台的一部分,但你需要指定你的应用需要RMagick gem。我猜你在本地安装了它,所以在本地可以使用,但是在Gemfile或Gems清单(取决于Heroku堆栈版本)中可能缺失。


我需要为rmagick gem做什么?我正在运行"bamboo-ree-1.8.7"堆栈。 - devinross
您还需要确保将它包含在 Rails 应用程序中,但是您的 Rails 版本指定了 gem 依赖项(对于 Rails 2.x,请使用 config/environment.rb 中的 config.gem 命令)。 - tfe
3
“ImageMagick默认是Heroku平台的一部分。” 很好知道,但我想知道:这在哪里有记录?我在文档中寻找过,但没有看到任何关于这个事实的参考。这让我想知道平台中还有什么其他东西... - Felixyz
2
@Felixyz:是的,这是一个非常好的观点。实际上,该平台仍处于起步阶段(嗯,也许有点超过了...青春期?),因此仍在快速变化中。有一些文档,但它们远远不如应该的全面。我所知道的大部分都来自于多年来在该平台上部署生产应用程序,从早期的私人测试版开始。 - tfe
附注:竹堆现在已经被弃用。 - StackExchange User
显示剩余2条评论

8
尝试在部署到heroku时删除Paperclip.options[:command_path] = "/path/to/"。这对我解决了问题。

1
我在我的 environment.rb 文件中设置了 :command_path 选项,这导致了问题。将该选项移动到特定的开发和测试环境(不是生产环境),现在在 Heroku 上它运行良好。谢谢! - jasonmklug
所以你们不需要任何东西来进行生产吗?我试着在Heroku上传一个gif文件,但是出现了处理错误。在开发环境中却没有问题。 - Keith Mattix

3
将以下内容添加到你的gemfile文件中...
gem 'rmagick'

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接