你的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版本?
跑
gem install bundler
要么
gem update bundler
这可能会解决您的问题。
对于所有新安装的Ruby版本,您应该更新或安装新的捆绑软件。
在项目的顶层目录中,创build一个名为.ruby-version
的文件( 等待它… )
2.1.0
这显然是现在指定版本的交叉{rbenv,rvm}
方式。
如果你在一个Rails项目中得到了这个,并且你最近升级了你的Ruby版本,那么你可能会在Spring的老版本的Ruby中运行。
./bin/spring stop
将解决这个问题。
如果您正在使用Capistrano,则还应该检查您的deploy.rb
文件中是否有set :rbenv_ruby
configuration。
对于更高级的项目,支持.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-install进行升级后得到了这个。 修正了这个问题:
gem install bundler
其次是:
$HOME/.rubies/ruby-2.4.1/bin/bundle
应该没有必要指定which bundle
指示已经使用此path的path。 但是,如果运行没有path的bundle
则会出现版本错误。 我不知道为什么?
你的Ruby项目有Gemfile与ruby版本。 将其更改为所需的一个。
确保你的服务器configuration指向正确的ruby安装。
我已经在.ruby-version
文件中更新了我的Ruby版本,并没有解决它。 ruby -v
也显示了正确的版本,但我忘记了更新我的服务器configuration。
例如,在我的NGINX服务器块中使用rbenv,NGINX和Pushion Passenger:
passenger_ruby /Users/myusername/.rbenv/versions/2.3.1/bin/ruby;
我需要改变…
passenger_ruby /Users/myusername/.rbenv/versions/2.3.3/bin/ruby;
然后重新启动NGINX,它的工作。
如果你使用rbenv来pipe理你的ruby环境,你可以在你的项目目录下运行rbenv local 2.1.0
来设置gemfile要求的ruby版本。