Bundler检测到错误的Ruby版本

时间:2014-01-27 02:46:58

标签: ruby-on-rails ruby bundler

我确信以前曾经问过,但即使经过数小时的研究,我也不知道会出现什么问题。

如果尝试运行任何bundle命令,我会收到以下错误消息:

Your Ruby version is 1.9.3, but your Gemfile specified 2.0.0

然而,ruby-switch --check的输出却表示不然:

Currently using: ruby2.0
------------------------

ruby    -> /usr/bin/ruby2.0
gem -> /usr/bin/gem2.0

rvm list

的输出也是如此
rvm rubies

=* ruby-2.0.0-p247 [ x86_64 ]

# => - current
# =* - current && default
#  * - default

甚至gem env

RubyGems Environment:
  - RUBYGEMS VERSION: 2.0.7
  - RUBY VERSION: 2.0.0 (2013-08-29 patchlevel 299) [x86_64-linux-gnu]
  - INSTALLATION DIRECTORY: /var/lib/gems/2.0.0
  - RUBY EXECUTABLE: /usr/bin/ruby2.0
  - EXECUTABLE DIRECTORY: /usr/local/bin
  - RUBYGEMS PLATFORMS:
    - ruby
    - x86_64-linux
  - GEM PATHS:
     - /var/lib/gems/2.0.0
     - /home/alex/.gem/ruby/2.0.0
     - /usr/share/rubygems-integration/2.0.0
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :backtrace => false
     - :bulk_threshold => 1000
  - REMOTE SOURCES:
     - https://rubygems.org/

我正在运行Bundler 1.3.5版。为什么不识别Ruby的正确版本?

2 个答案:

答案 0 :(得分:2)

显示所有系统ruby信息确保看起来RVM未安装或未正确安装。修理它听起来没什么乐趣。我建议把它吹走并重新开始。

rvm implode
rm -rf ~/.rvm
# check .profile, .bash_profile for remnants of rvm, nuke them too

然后按照RVM installation instructions的字母。

答案 1 :(得分:0)

在运行gem install bundler或您想要使用的任何版本后,尝试仅使用rvm use 2.3.1安装bundler。为我重新安装RVM没有工作(捆绑包仍然抱怨错误的版本),因为我所拥有的捆绑器的唯一版本是ruby-2.3.0,而不是ruby-2.3.1。因此bundle install运行了我拥有的一个版本的捆绑包,而不是报告我没有为我正在使用的ruby版本提供捆绑版本。

希望这可以帮助那些在升级Ruby时遇到此问题的人。