web-dev-qa-db-ja.com

Gemfile.lockを理解する:Gemfile.lockを削除してからbundle installを再度実行しても大丈夫ですか?

私たちはこれをテストしますが、これが起こるはずがない場合に開発環境を台無しにする危険を冒したくはありません。

Gemfile.lockを削除してもよろしいですか?

Rails 3.0.6。

30
Crashalot

あなたはおそらくあなたの開発環境を台無しにするつもりはありません。ただし、以前よりも新しいバージョンのgemが作成される可能性があります。 Gemfileでそれらをどのように定義したかによって異なります。

次のようなエントリを使用している場合:

gem "Rails"

次に、最新のRails gemを入手します。

次のようなエントリを使用している場合:

gem "Rails", "3.2.11"

その後、再び3.2.11を取得します。

それをすべて言っても、これがブランチの目的です。 githg、または使用しているものにブランチを作成して、吹き飛ばしますGemfile.lock、実行bundle installをクリックし、テストスイートを確認します。ひどい場合は、問題の原因を突き止めながらブランチを放棄できます。

別のヒント:これを実行したいと思ったときはいつでも、インストールされているすべてのgemをクリアすることも役立つことがわかりました。 gemsetsでrvmを使用している場合、これは実行するのと同じくらい簡単です

rvm gemset empty [gemset_name]

25
jdl

Gemfile.lockを削除してもかまいません。実行するだけです

bundle install

新しいGemfile.lockを生成します。 Gemfileで宝石のバージョンを指定しなかった場合は、常に最新の状態になります。

5
mpalencia

私はこれがすでに回答されていることを知っていますが、Googleでこの投稿に遭遇した他のすべての人にとって、そのコマンドbundle initはGemfileを再生成します。

2
AnthonyAlmighty