你的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_rubyconfiguration。

    对于更高级的项目,支持.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版本。