rvm 默认 ruby 版本工作其他版本不工作

rvm deafult ruby version working other version not working

当我安装 rvm 时,它默认安装 ruby 2.2.1 并且工作正常。

我已经安装了另一个版本rvm install 2.1.0并安装了。

当我使用 2.1.0 和 运行 bundle install 我得到:

/home/awlad/.rvm/rubies/ruby-2.1.0/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:54:in `require': cannot load such file -- bundler (LoadError)
    from /home/awlad/.rvm/rubies/ruby-2.1.0/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:54:in `require'
    from /usr/bin/bundle:7:in `<main>'

我试图 gem install bundler 给我:ERROR: While executing gem ... (NoMethodError) undefined methodord' for nil:NilClass`

如果我使用 ruby 2.2.1 然后捆绑安装工作。

当我使用 rvm use 2.1.0 然后 which bundle 给我:/usr/bin/bundle 当我使用 rvm use 2.2.1 然后 which bundle 给我: /home/awlad/.rvm/gems/ruby-2.2.1/bin/bundle

这是 gem env 的输出:

RubyGems Environment:
  - RUBYGEMS VERSION: 2.4.8
  - RUBY VERSION: 2.2.1 (2015-02-26 patchlevel 85) [x86_64-linux]
  - INSTALLATION DIRECTORY: /home/awlad/.rvm/gems/ruby-2.2.1
  - RUBY EXECUTABLE: /home/awlad/.rvm/rubies/ruby-2.2.1/bin/ruby
  - EXECUTABLE DIRECTORY: /home/awlad/.rvm/gems/ruby-2.2.1/bin
  - SPEC CACHE DIRECTORY: /home/awlad/.gem/specs
  - SYSTEM CONFIGURATION DIRECTORY: /home/awlad/.rvm/rubies/ruby-2.2.1/etc
  - RUBYGEMS PLATFORMS:
    - ruby
    - x86_64-linux
  - GEM PATHS:
     - /home/awlad/.rvm/gems/ruby-2.2.1
     - /home/awlad/.rvm/gems/ruby-2.2.1@global
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :backtrace => false
     - :bulk_threshold => 1000
  - REMOTE SOURCES:
     - https://rubygems.org/
  - SHELL PATH:
     - /home/awlad/.rvm/gems/ruby-2.2.1/bin
     - /home/awlad/.rvm/gems/ruby-2.2.1@global/bin
     - /home/awlad/.rvm/rubies/ruby-2.2.1/bin
     - /home/awlad/.rvm/bin
     - /usr/local/sbin
     - /usr/local/bin
     - /usr/sbin
     - /usr/bin
     - /sbin
     - /bin
     - /usr/games
     - /usr/local/games

附加信息:

 rvm 1.26.11
 Bundler version 1.10.6

我该如何解决这个问题?

当您使用 rvm 从一个 ruby 版本切换到另一个版本并收到该消息时,您应该再次安装捆绑器:

gem install bundler
bundle install

无法加载这样的文件 -- bundler (LoadError) 这是错误。 2.1.0 缺少捆绑器。 运行 gem 安装 bundler 然后 bundle install

我正在回答并接受这个问题,因为有人可能会从中得到帮助。

经过调查,我发现这是一个 Ruby 错误已修复 here

我必须将 ruby 版本升级到 2.1.7 才能解决这个问题。

您可以从rvm issue tracker.

获取详细信息