我确信以前曾经问过,但即使经过数小时的研究,我也不知道会出现什么问题。
如果尝试运行任何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的正确版本?
答案 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时遇到此问题的人。