3
私はHerokuのホストされたアプリケーションで使用したい公開されていないレポ(ローカルファイルシステム上)ではない宝石を持っています。私は試してみて、それがキャッシュを使用して取得することbundle install --path vendor
とbundle package
を使用しましたBundlerとHeroku:条件付きの宝石/ 2種類の宝石
group :production do
gem 'mygem', :git => #giturl
end
group :development do
gem "mygem", :require => "mygem", :path => "/gem_dev/mygem"
end
$ bundle install
...
You cannot specify the same gem twice coming from different sources. You specified that mygem (>= 0) should come from source at vendor/cache and source at ...
が、宝石はローカルパスであるためバンドラーは(私に語った:
バンドラーはさらに、たとえば、これを許可していません。それはキャッシュされません)。これを回避するために、私は、ベンダー/キャッシュに.gemをコピーし、Gemfileにラインを持っていた:
gem 'mygem', :path => 'vendor/cache'
が、私はバンドラーからこのエラーを取得する:
Could not find gem 'mygem (>= 0) ruby' in source at vendor/cache.
Source does not contain any versions of 'mygem (>= 0) ruby'
Herokuのは、有効なパスを必要とします。どのように私は私のために働くためにこれを得ることができる任意のアイデア?
ご迷惑をおかけして申し訳ありません。
http://www.cowboycoded.com/2010/08/10/using-2-sources-for-a-gem-in-different-environments-with-bundler/ – Gazler
私はすでにそれを試みましたが、宝石は公共のgit repoではないので、それは動作しません。私はローカルファイルパスを使ってgit urlとしてアクセスしようとしています。 – iain
いいえ、 ':git =>" file:/// path-to-local-filesystem-repo "を使用すると、gemはインストールされますが、キャッシュは更新されません。 'bundle package'を再度実行しても、それをキャッシュに移動しませんでした。 – iain