【问题标题】:ruby version and gem's ruby version do not matchruby 版本和 gem 的 ruby​​ 版本不匹配
【发布时间】:2010-09-19 19:59:15
【问题描述】:

RubyGems 报告的 ruby​​ 版本与运行 ruby --version 不同。寻找有关诊断和解决此问题的建议。操作系统是 OS X 10.5。

lando-macbook:rubygems-1.3.7 lando$ gem env
RubyGems Environment:
  - RUBYGEMS VERSION: 1.3.7
  - RUBY VERSION: 1.8.6 (2009-06-08 patchlevel 369) [universal-darwin9.0]
  - INSTALLATION DIRECTORY: /Library/Ruby/Gems/1.8
  - RUBY EXECUTABLE: /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby
  - EXECUTABLE DIRECTORY: /usr/bin
  - RUBYGEMS PLATFORMS:
    - ruby
    - universal-darwin-9
  - GEM PATHS:
     - /Library/Ruby/Gems/1.8
     - /Users/lkuhn/.gem/ruby/1.8
     - /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :benchmark => false
     - :backtrace => false
     - :bulk_threshold => 1000
  - REMOTE SOURCES:
     - http://rubygems.org/

lando-macbook:rubygems-1.3.7 lando$ ruby --version
ruby 1.8.7 (2010-08-16 patchlevel 302) [i686-darwin9]

lando-macbook:rubygems-1.3.7 lando$ which ruby
/opt/local/bin/ruby

【问题讨论】:

  • which ruby 的输出是什么?
  • /opt/local/bin/ruby,并添加到问题中
  • 我想我需要知道的是,RubyGem 能找到 ruby​​ 可执行文件吗?

标签: ruby macos rubygems


【解决方案1】:

问题是您在 /opt/local/bin 中有一个 ruby​​ 可执行文件,它可能在某个时候由 macports 安装。删除此 ruby​​ 可执行文件或从 PATH 变量中删除 /opt/local/bin 应该可以解决您的问题。 gems 会准确地告诉您它期望在哪里找到 ruby​​ 及其相关的可执行文件:

RUBY EXECUTABLE: /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby
  - EXECUTABLE DIRECTORY: /usr/bin

【讨论】:

  • /opt/local/bin 中的版本是我需要使用的更新版本。我使用 macpoo 是因为我不知道如何更新 /System/ 中的版本...如何更新该版本?
  • 建议不要更新您的系统版本,因为某些特定于 mac 的实用程序可能依赖于版本 x...
猜你喜欢
  • 2018-04-20
  • 1970-01-01
  • 2018-01-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-03
  • 1970-01-01
相关资源
最近更新 更多