2017-03-03 22 views
1

私は自分のユーザフォルダにいるだけで、私はrails -vを取得します。しかし、プロジェクトのディレクトリにcdすれば5.0.0.1になります。フォルダの種類によってレールのバージョンが異なります

なぜ違いがありますか、プロジェクトを最新のバージョンのレールに更新するにはどうすればよいですか?

+0

プロジェクトの 'Gemfile' /' Gemfile.lock'ファイルをチェックしてください。レールのプロジェクトバージョンを指定します。 Bundlerでも読んでください。 –

+1

RVMまたはrbenvと組み合わせた '.ruby-version'ファイルでもかまいません。 –

答えて

1

Bundlerは、Gemfile.lockを使用して、宝石のバージョンと名前を保存します。これをバージョン管理にチェックインすると、すべてのマシンで宝石のセットが完全に同じであることが保証されます。これは絶えず変化する世界の安定を促進します。

Gemfile.lockは、bundlerによって生成され、Gemfileの構文体系に基づいてバージョンを指定することができます。

あなたがレールを更新したい場合は、次のコマンドを実行します。

bundle update rails 

あなたが宝石を更新するには注意する必要があります。更新の結果、テストが正常に終了していることを確認してください。

ここには、バンドラーのドキュメントのGemfile.lock pageへのリンクがあります。これは、これらのトピックの多くをカバーしています。

そして、ここにGemfileドキュメントへのリンクがあります。

+0

私はgemファイルを5.0.0.1から5.0.2に変更してから、バンドルインストールを実行してから、バンドルアップデートを実行しました。私はすでにバンドルアップデートレールを走らせていたが、何らかの理由でその特定のアプリケーションをアップデートしなかった。 – blueduckyy

+0

はい。これは、あなたのGemfileにあなたのレールの宝石を記述するときに使用した構文と関係があります。 'gem 'rails'、 '5.0.0.1''。バージョンの変更が5.1を超えていないので、 '〜>'構文を使用した場合、明示的な変更を必要とせずに更新されます。この回答を見る:http://stackoverflow.com/questions/5101591/what-does-mean-in-a-gem-file –

関連する問題