2013-01-11 102 views
21

私たちはこれをテストしますが、これが起こらなければ、開発環境を破壊する危険がありません。Gemfile.lockの理解:Gemfile.lockを削除してからbundle installを再度実行することはできますか?

Gemfile.lockを削除しても問題ありませんか?

私たちはRails 3.0.6です。

+2

変更する必要のある宝石のみを更新するには、 'bundle update rails'を使用することを検討してください。 –

答えて

22

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

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

gem "rails"

を次に、あなたはそれがあるかもしれないものは何でも、最新のrails宝石を取得します。

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

gem "rails", "3.2.11"

を次に、あなたは再び3.2.11を得るでしょう。

これらのことすべてを言えば、これは枝のためのものです。 githg、または使用しているものをブランクにしてGemfile.lockを吹き飛ばし、bundle installを実行して、テストスイートを確認します。それがひどい場合は、何がうまくいかなかったかを把握しながら、ブランチを放棄することができます。

もう1つのヒント:これまでやりたかったたびに、インストールされたすべての宝石をクリアすることが有用であることがわかりました。あなたはgemsetsとrvmを使用している場合、これは実行するだけです

rvm gemset empty [gemset_name]私はこれが既に回答されていますが、Googleでこの記事に出くわし、たまたま他の皆のために、あなたはそのコマンドを知っている必要があります知っている

0

bundle initはGemfileを再生成します。

+0

ええと、私のために、「Gemfileは/ home/bla bla bla ...に既に存在しています」というエラーメッセージが表示されました。ファイルを再生成しませんでした。おそらく、これは.lockファイルが 'bundle init 'で取り除かれ、再生成されることを意味しますが、その場合、それと単にバンドルインストールの違いは何でしょうか? –

0

それはちょうど新しいGemfile.lockを生成する

bundle install 

を実行し、Gemfile.lockを削除しても大丈夫です。 Gemfileに宝石のバージョンを指定しなかった場合は、常に最新のものが入手されます

関連する問題