简体   繁体   English

如何在gem环境中设置正确的Ruby版本

[英]How to set correct Ruby version in gem environment

Note: This question relates to How can I get bundler to use the Ruby version set by chruby and .ruby-version? 注意:这个问题涉及如何让bundler使用chruby和.ruby-version设置的Ruby版本? .

Using chruby I have Ruby 1.8.7 installed on macOS: 使用chruby我在macOS上安装了Ruby 1.8.7:

$ ruby -v
ruby 1.8.7 (2013-06-27 patchlevel 374) [i686-darwin17.4.0]

Also, I have used gem update --system 1.8.30 to install a specific version of RubyGems which I am hoping is compatible. 另外,我使用gem update --system 1.8.30来安装特定版本的RubyGems,我希望它是兼容的。 This would appear to be installed properly: 这似乎安装正确:

$ gem --version
1.8.30

However, my RubyGems environment shows the incorrect version of Ruby (2.5.0): 但是,我的RubyGems环境显示了不正确的Ruby版本(2.5.0):

$ gem env
RubyGems Environment:
  - RUBYGEMS VERSION: 1.8.30
  - RUBY VERSION: 2.5.0 (2017-12-25 patchlevel 0) [x86_64-darwin17]
  - INSTALLATION DIRECTORY: /Users/keithpitty/.gem/ruby/1.8.7
  - RUBY EXECUTABLE: /usr/local/opt/ruby/bin/ruby
  - EXECUTABLE DIRECTORY: /Users/keithpitty/.gem/ruby/1.8.7/bin
  - RUBYGEMS PLATFORMS:
    - ruby
    - x86_64-darwin-17
  - GEM PATHS:
     - /Users/keithpitty/.gem/ruby/1.8.7
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :benchmark => false
     - :backtrace => false
     - :bulk_threshold => 1000
  - REMOTE SOURCES:
     - http://rubygems.org/

How can I fix the RubyGems environment to use the version of Ruby that chruby has set? 如何修复RubyGems环境以使用chruby设置的Ruby版本?

My missing step was installing RubyGems 1.6.2 from source. 我缺少的一步是从源代码安装RubyGems 1.6.2。 Following advice elsewhere from Dan Cheail , I did the following: 根据Dan Cheail的其他建议,我做了以下工作:

curl -O https://rubygems.org/rubygems/rubygems-1.6.2.tgz

(and then unzipped it) (然后解压缩)

cd rubygems-1.6.2
chruby ruby-1.8.7-p374
ruby setup.rb
gem update --system 1.8.25

And then my RubyGems environment was fixed: 然后修复了我的RubyGems环境:

$ gem env
RubyGems Environment:
  - RUBYGEMS VERSION: 1.8.25
  - RUBY VERSION: 1.8.7 (2013-06-27 patchlevel 374) [i686-darwin17.4.0]
  - INSTALLATION DIRECTORY: /Users/keithpitty/.gem/ruby/1.8.7
  - RUBY EXECUTABLE: /Users/keithpitty/.rubies/ruby-1.8.7-p374/bin/ruby
  - EXECUTABLE DIRECTORY: /Users/keithpitty/.gem/ruby/1.8.7/bin
  - RUBYGEMS PLATFORMS:
    - ruby
    - x86-darwin-17
  - GEM PATHS:
     - /Users/keithpitty/.gem/ruby/1.8.7
     - /Users/keithpitty/.rubies/ruby-1.8.7-p374/lib/ruby/gems/1.8
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :benchmark => false
     - :backtrace => false
     - :bulk_threshold => 1000
  - REMOTE SOURCES:
     - http://rubygems.org/

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

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