バンドラー:GemfileのGit Branchの最新の改訂を常に使用してください
質問
次の形式のプライベートGitリポジトリを備えたGemfileがあります。
gem 'magic_beans', :git => "git@git.example.com:magic_beans.git', :branch => 'super_beans'
私 bundle install
, 、Gemfile.Lockは特定のSHA改訂にロックします。
Bundlerに常に最新のSHAコミットを確認して使用してもらうことはできますか?更新をプッシュしたときに注意してください super_beans
ブランチ私はGEMバージョンを変更していません。
理想的には、走るたびに bundle
ブランチの新しいSHAリビジョンについては、アップストリームGit Repoをチェックします。
解決
これはバンドラーの仕組みではありません。ポイントは、依存関係のシームレスなバージョンを許可することです。 (特に、どのバージョンのコードがいつでも展開されているかを正確に知っています)。
最新バージョンが必要な場合は、実行するだけです。
bundle update magic_beans
これは、あなたがただ言っている場合とまったく同じ機能です
gem "rails"
私は提案することをお勧めします、あなたが更新する具体的なものの範囲がある場合は、カスタムバイナリを追加します(たとえば、実行可能ファイルという名前の名前は言います bundle_update
)
#!/usr/bin/env bash
bundle install
bundle update magic_beans
次に、 ./bundle_update
これらのことを更新したいとき。
他のヒント
実行できます bundle update
で述べたように、すべてまたは特定の宝石を最新のバージョンに更新するために ドキュメント.
それは助けになりますか?
ドキュメントを検索した後、私はついにこれを行う魔法の方法を見つけました:
bundle update magic_beans --source magic_beans
つまり、更新します magic_beans
宝石のみですが、他のロックされた宝石に触れないでください。これについてのドキュメントは次のとおりです。 http://bundler.io/man/bundle-pdate.1.html
削除.gemlockは私のために働いたものです:/