最近、Gemfileを更新して、githubアカウントでフォークされたコピーレールを使用するようにしました。2.3-stableブランチ(これを呼び出しますthe_bugfix_branch
)からカスタムブランチを作成し、各gemにgemspecを追加して、bundlerで見つけられるようにしました。
私のGemfileには次のものがあります。
git 'git://github.com/ourgithub/rails.git', :branch => "the_bugfix_branch" do
# Note: load-order is essential for dependencies
gem 'activesupport', '2.3.2' # this must go first
gem 'actionpack', '2.3.2' # this must go second
gem 'actionmailer', '2.3.2'
gem 'activerecord', '2.3.2'
gem 'activeresource','2.3.2'
gem 'rails', '2.3.2' # this must go last
end
bundle install
(残りのすべてのgem出力の中で)私に喜んで実行します:
Using actionpack (2.3.2) from git://github.com/ourgithub/rails.git (at the_bugfix_branch)
Using actionmailer (2.3.2) from git://github.com/ourgithub/rails.git (at the_bugfix_branch)
Using activesupport (2.3.2) from git://github.com/ourgithub/rails.git (at the_bugfix_branch)
Using activerecord (2.3.2) from git://github.com/ourgithub/rails.git (at the_bugfix_branch)
Using activeresource (2.3.2) from git://github.com/ourgithub/rails.git (at the_bugfix_branch)
...
Using rails (2.3.2) from git://github.com/ourgithub/rails.git (at the_bugfix_branch)
...
Your bundle is complete! Use `bundle show [gemname]` to see where a bundled gem is installed.
次に、以下を含むGemfile.lockをチェックインしてコミットします。
GIT
remote: git://github.com/ourgithub/rails.git
revision: 3fc562f9b1def3ad9a7abbfd5ccfa713a6dbc39f
branch: the_bugfix_branch
specs:
actionmailer (2.3.2)
actionpack (= 2.3.2)
actionpack (2.3.2)
actionpack (= 2.3.2)
activerecord (2.3.2)
activesupport (= 2.3.2)
activeresource (2.3.2)
activesupport (= 2.3.2)
activesupport (2.3.2)
rails (2.3.2)
actionmailer (= 2.3.2)
actionpack (= 2.3.2)
activerecord (= 2.3.2)
activeresource (= 2.3.2)
activesupport (= 2.3.2)
rake (>= 0.8.3)
ただし、サーバーを起動しようとすると、次のように表示されます。
The git source git://github.com/ourgithub/rails.git is not yet checked out. Please run `bundle install` before trying to start your application
試してみると、まったく同じメッセージが表示されbundle show rails
ますbundle check
。
> bundle show rails
The git source git://github.com/ourgithub/rails.git is not yet checked out. Please run `bundle install` before trying to start your application
> bundle check
git://github.com/ourgithub/rails.git (at the_bugfix_branch) is not checked out. Please run `bundle install`
私がbundle install --deployment
(キックのためだけに)試してみると、それは次のようになります:
> bundle install --deployment
You are trying to install in deployment mode after changing
your Gemfile. Run `bundle install` elsewhere and add the
updated Gemfile.lock to version control.
You have added to the Gemfile:
* source: git://github.com/ourgithub/rails.git (at the_bugfix_branch)
You have deleted from the Gemfile:
* source: git://github.com/ourgithub/rails.git (at the_bugfix_branch)
You have changed in the Gemfile:
* activeresource from `git://github.com/ourgithub/rails.git (at the_bugfix_branch)` to `no specified source`
* activerecord from `git://github.com/ourgithub/rails.git (at the_bugfix_branch)` to `no specified source`
* actionmailer from `git://github.com/ourgithub/rails.git (at the_bugfix_branch)` to `no specified source`
* actionpack from `git://github.com/ourgithub/rails.git (at the_bugfix_branch)` to `no specified source`
* activesupport from `git://github.com/ourgithub/rails.git (at the_bugfix_branch)` to `no specified source`
* rails from `git://github.com/ourgithub/rails.git (at the_bugfix_branch)` to `no specified source`
私は明らかにGemfileを変更しただけではなく、Gemfileにそのようなものを追加して以来、バンドルインストールを実行したことは間違いありません。
「まだチェックアウトされていません。bundle install
アプリケーションを起動する前に実行してください」とグーグルで検索しましたが、「機能しない」という質問はすべて「bundle install
実行してbundle install
から、コピーをチェックインしてくださいGemfile.lock
」と表示されます...私は明らかにそれをしました。また、本番環境でバンドルインストールが失敗する傾向がありますが、開発でもこのように失敗します。
これは単純なGemfile/Gemfile.lockの不一致の問題ではないと思います!
グーグルの結果のいくつかは、.bundle/configを削除してもう一度実行してみることを教えてくれます。私はそれを同じ(欠如した)効果で試しました。
具体的には、バンドルのインストールを再実行する前にrm -rf
、このトラブルシューティングガイドのすべての行(https://github.com/carlhuda/bundler/blob/master/ISSUES.md )を確認しました。
エラーメッセージに変更はありません。
何か案は?