バンドルインストールしようとすると、次のメッセージが表示されます。
Your Ruby version is 2.0.0, but your Gemfile specified 2.1.0
私のGemfileには次のものがあります。
Ruby '2.1.0'
そして、コンソールでRuby -v
を実行すると、次のようになります:
Ruby 2.1.0p0 (2013-12-25 revision 44422) [x86_64-darwin12.0]
Ruby 2.1.0p0はどういう意味ですか? Gemfileにはどのバージョンが必要ですか。また、エラーによりRubyバージョン2.0.0があると表示されるのはなぜですか?
走る
gem install bundler
または
gem update bundler
これで問題が解決する場合があります。
Rubyのすべての新規インストールバージョンについては、新しいバンドラーを更新またはインストールする必要があります。
プロジェクトの最上位ディレクトリで、(wait for it ...)を含む.Ruby-version
という名前のファイルを作成します
2.1.0
これは明らかに、現在のバージョンを指定するcross _{rbenv,rvm}
方法です。
これをRailsプロジェクトで取得し、最近Rubyバージョンをアップグレードした場合、古いバージョンのRubyで spring がまだ実行されている可能性があります。
./bin/spring stop
これを修正します。
私にとっては、どの答えも役に立たなかった。私はそれを修正し、再びターミナルを開閉しました。
Ruby-install でアップグレードした後にこれを取得しました。これを修正:
gem install bundler
に続く:
$HOME/.rubies/Ruby-2.4.1/bin/bundle
which bundle
が既にこのパスを使用していることを示すため、パスを指定する必要はありません。ただし、bundle
をパスなしで実行すると、バージョンエラーが発生します。理由がわかりませんか?
Capistranoを使用している場合は、deploy.rb
ファイルのset :rbenv_Ruby
設定も確認する必要があります。
上記の回答のどれも私にとってはうまくいきませんでしたが、
$ gem pristine --all
私のためにトリックをしました
ブオナ・フォルトゥナ
Rbenvを使用してRuby環境を管理している場合、gemfileが要求するRubyのバージョンを設定するためにプロジェクトディレクトリ内でrbenv local 2.1.0
を実行できます。
他の提案はどれも私にとってはうまくいきませんでした。サーバー上で、私はしなければなりませんでした:
rvm --default use [correct version number]
より高度なプロジェクトの場合、.versions.confがサポートされ、Rubyバージョンよりも多くのバージョンを指定できます。
.versions.confの生成:
rvm --create --versions-conf use 1.9.3@my_app
.versions.confの例:
Ruby=jruby-1.6.8
Ruby-gemset=my_app
env-JRUBY_OPTS=--1.9
サーバー構成が正しいRubyインストールを指していることを確認してください。
.Ruby-version
ファイルのRubyバージョンを既に更新していたので、修正されませんでした。 Ruby -v
も正しいバージョンを示しましたが、サーバー構成を更新するのを忘れていました。
たとえば、rbenv、NGINX、およびPushion Passengerの場合、NGINXサーバーブロックに含まれていました。passenger_Ruby /Users/myusername/.rbenv/versions/2.3.1/bin/Ruby;
そして、私は...に変更する必要がありました.passenger_Ruby /Users/myusername/.rbenv/versions/2.3.3/bin/Ruby;
その後、NGINXを再起動し、動作しました。
HomeBrewを使用してRubyをインストールするときに、brew cleanup Ruby
が機能しました。
最近、HomeBrewでRubyを更新しましたが、HomeBrewは古いバージョンを削除しませんでした。 brew cleanup Ruby
はRubyの古いバージョンを削除します。
これは、新しいバージョンのRubyをインストールし、最初に新しいバージョンのRubyのgemをインストールせずに、.Ruby-versionとGemfileを新しいバージョンに更新したときに発生する可能性があります。だから
$ bundle install
また、.profileを入手するか、シェルを再起動する必要があります。
バンドラーのインストール/更新に関する情報をありがとうございますが、うまくいきませんでした。 rbenv rehash
をしなければなりませんでした
同じエラーがありました。以下を行うことで修正されました。 Ruby 2.5.5およびrbenvを使用していました。 2.5.1からアップグレードされました。