web-dev-qa-db-ja.com

Rubyバージョンは2.0.0ですが、Gemfileで2.1.0が指定されています

バンドルインストールしようとすると、次のメッセージが表示されます。

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があると表示されるのはなぜですか?

56
stecd

走る

gem install bundler

または

gem update bundler 

これで問題が解決する場合があります。

Rubyのすべての新規インストールバージョンについては、新しいバンドラーを更新またはインストールする必要があります。

91
Зелёный

プロジェクトの最上位ディレクトリで、(wait for it ...)を含む.Ruby-versionという名前のファイルを作成します

2.1.0

これは明らかに、現在のバージョンを指定するcross _{rbenv,rvm}方法です。

13
Clay Bridges

これをRailsプロジェクトで取得し、最近Rubyバージョンをアップグレードした場合、古いバージョンのRubyで spring がまだ実行されている可能性があります。

./bin/spring stop

これを修正します。

12
Myers Carpenter

私にとっては、どの答えも役に立たなかった。私はそれを修正し、再びターミナルを開閉しました。

5

Ruby-install でアップグレードした後にこれを取得しました。これを修正:

gem install bundler

に続く:

$HOME/.rubies/Ruby-2.4.1/bin/bundle

which bundleが既にこのパスを使用していることを示すため、パスを指定する必要はありません。ただし、bundleをパスなしで実行すると、バージョンエラーが発生します。理由がわかりませんか?

3
mahemoff

Capistranoを使用している場合は、deploy.rbファイルのset :rbenv_Ruby設定も確認する必要があります。

3
Darme

上記の回答のどれも私にとってはうまくいきませんでしたが、

$ gem pristine --all

私のためにトリックをしました

ブオナ・フォルトゥナ

2
Salomanuel

Rbenvを使用してRuby環境を管理している場合、gemfileが要求するRubyのバージョンを設定するためにプロジェクトディレクトリ内でrbenv local 2.1.0を実行できます。

2
Thiemo

他の提案はどれも私にとってはうまくいきませんでした。サーバー上で、私はしなければなりませんでした:

rvm --default use [correct version number]

2
Karen

より高度なプロジェクトの場合、.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
1
user5315333

サーバー構成が正しい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を再起動し、動作しました。

1
Allen

HomeBrewを使用してRubyをインストールするときに、brew cleanup Rubyが機能しました。

最近、HomeBrewでRubyを更新しましたが、HomeBrewは古いバージョンを削除しませんでした。 brew cleanup RubyはRubyの古いバージョンを削除します。

1
ethicalhack3r

これは、新しいバージョンのRubyをインストールし、最初に新しいバージョンのRubyのgemをインストールせずに、.Ruby-versionとGemfileを新しいバージョンに更新したときに発生する可能性があります。だから

$ bundle install

また、.profileを入手するか、シェルを再起動する必要があります。

1

バンドラーのインストール/更新に関する情報をありがとうございますが、うまくいきませんでした。 rbenv rehashをしなければなりませんでした

0
MarkP

同じエラーがありました。以下を行うことで修正されました。 Ruby 2.5.5およびrbenvを使用していました。 2.5.1からアップグレードされました。

  • rbenv rehash
  • gem uninstall bundler
  • gem install bundler
  • gem install bundler:1.17.3(私のアプリには特定のbundler -v 1.17.3が必要でした)
  • gemインストールRails
0
Andrius Svylas