【问题标题】:rvm deafult ruby version working other version not workingrvm 默认 ruby​​ 版本工作 其他版本不工作
【发布时间】:2015-11-18 15:56:42
【问题描述】:

当我安装 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,那么 bundle install 工作。

当我使用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

我该如何解决这个问题?

【问题讨论】:

  • 尝试在ruby 2.1.0 中运行:gem install bundlerbundle install
  • gem install bundler give me: ERROR: While execution gem ... (NoMethodError) undefined method `ord' for nil:NilClass
  • 请发布您收到的完整错误日志。

标签: ruby-on-rails ruby gem rubygems rvm


【解决方案1】:

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

经过调查发现是 Ruby 的 bug 已修复 here

我不得不将 ruby​​ 版本升级到 2.1.7 来解决这个问题。

您可以从rvm issue tracker.获取详细信息

【讨论】:

    【解决方案2】:

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

    【讨论】:

    • gem install bundler 给出:错误:执行 gem ... (NoMethodError) 未定义方法 `ord' for nil:NilClass
    • 您的代码中某处对于不存在的类存在错误,并且使用它或其对象调用了 ord。检查行号并粘贴完整错误。
    【解决方案3】:

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

    gem install bundler
    bundle install
    

    【讨论】:

    猜你喜欢
    • 2018-11-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多