如何编辑gem然后在Heroku上的Sinatra应用程序中使用该版本

时间:2012-03-15 20:41:46

标签: path heroku sinatra paperclip gemfile

我正在尝试在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'位置的路径,我认为是正确的。有谁看到我做错了什么?如果您需要更多信息,我很乐意提供。

感谢。

1 个答案:

答案 0 :(得分:0)

也许我正在回避这里使用的问题:heroku上的路径宝石,但这对你有用吗?

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

至于为什么它不起作用,我绝对要小心在Gemfile中使用Dir.pwdFile.dirname(__FILE__)可能是一个可行的选择,但它仍然比git选项更脏。