繁体   English   中英

Bundler检测到错误的Ruby版本

[英]Bundler detects wrong version of Ruby

我确信之前已经问过,但即使经过几个小时的研究,我也不知道会出现什么问题。

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

Your Ruby version is 1.9.3, but your Gemfile specified 2.0.0

然而, ruby-switch --check的输出ruby-switch --check说不然:

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

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

rvm list的输出也是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的正确版本?

显示所有系统ruby信息肯定会使RVM看起来没有安装,或者安装不正确。 修理它听起来没什么乐趣。 我建议把它吹掉然后重新开始。

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

然后按照RVM安装说明进行操作

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM