0

我正在尝试在 Heroku 上部署的 Sinatra 应用程序中加载 dm-paperclip gem 的编辑版本。我在这里下载了编辑过的 gem https://github.com/ladicha/dm-paperclip/commit/8ff8d235edf03c7c21c49c0103c5b013d543d406

在我的 Gemfile 中,我为 dm-paperclip 添加了一个 :path 参数

gem 'dm-paperclip', :path => "#{Dir.pwd}/gems/ladicha-dm-paperclip-8ff8d23"

当我推送到 Heroku 时,捆绑器运行时没有错误。关于 dm-paperclip gem heroku 的 bundler 报告

Using dm-paperclip (2.4.1) from source at gems/ladicha-dm-paperclip-8ff8d23

该应用程序随后被部署,但崩溃。我相信日志中的相关行是

 <internal:lib/rubygems/custom_require>:29:in `require': no such file to load -- dm-paperclip (LoadError)

我指的是:我认为正确的“dm-paperclip.gemspec”位置的路径。有人看到我做错了吗?如果您需要更多信息,我很乐意提供。

谢谢。

4

1 回答 1

0

也许我在这里回避了在 heroku 上使用 :path gems 的问题,但这对你有用吗?

gem 'dm-paperclip', :git => 'https://github.com/ladicha/dm-paperclip.git'

至于为什么它不起作用,我肯定会警惕Dir.pwd在 Gemfile 中使用。File.dirname(__FILE__)可能是一个可行的选择,但它仍然比 git 选项更脏。

于 2012-03-16T03:50:10.900 回答