我正在尝试在Heroku上部署的Sinatra应用程序中加载dm-paperclip 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的捆绑报告
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'位置的路径,我认为是正确的。有谁看到我做错了什么?如果您需要更多信息,我很乐意提供。
感谢。
答案 0 :(得分:0)
也许我正在回避这里使用的问题:heroku上的路径宝石,但这对你有用吗?
gem 'dm-paperclip', :git => 'https://github.com/ladicha/dm-paperclip.git'
至于为什么它不起作用,我绝对要小心在Gemfile中使用Dir.pwd
。 File.dirname(__FILE__)
可能是一个可行的选择,但它仍然比git选项更脏。