注意:user377519(下面的回答)指出了我正确的方向。我已经在问题的底部发布了“修复”,以防你发现这个并且需要的不仅仅是“指针”
我无法弄清楚为什么对“gem env”的第二次调用与第一次调用没有相同的环境? 有什么指针吗?这真让我抓狂!!!!
$ which gem
/usr/local/bin/gem
$ / usr / local / bin / gem env
RubyGems Environment:
- RUBYGEMS VERSION: 1.3.7
- RUBY VERSION: 1.8.8 (2010-06-26 patchlevel 1) [i386-darwin9.8.0]
- INSTALLATION DIRECTORY: /usr/local/lib/ruby/gems/1.8
- RUBY EXECUTABLE: /usr/local/bin/ruby
- EXECUTABLE DIRECTORY: /usr/local/bin
- RUBYGEMS PLATFORMS:
- ruby
- x86-darwin-9
- GEM PATHS:
- /usr/local/lib/ruby/gems/1.8
- /Users/pauliprice/.gem/ruby/1.8
- GEM CONFIGURATION:
- :update_sources => true
- :verbose => true
- :benchmark => false
- :backtrace => false
- :bulk_threshold => 1000
- :sources => ["http://gems.rubyforge.org/", "http://gems.github.com", "http://gems.github.com"]
- REMOTE SOURCES:
- http://gems.rubyforge.org/
- http://gems.github.com
- http://gems.github.com
$ 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/pauliprice/.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
- :sources => ["http://gems.rubyforge.org/", "http://gems.github.com", "http://gems.github.com"]
- REMOTE SOURCES:
- http://gems.rubyforge.org/
- http://gems.github.com
- http://gems.github.com
解决方案:
鉴于您没有(因为我没有)想要在不同版本之间切换,只需在OSX 10.5框中安装新版本,这就是如何正确安装RubyGems。
假设您构建并安装了这样的新Ruby:
./configure --prefix=/usr/local --enable-pthread
sudo make
sudo make install
编辑〜/ .bash_profile并添加此行
export PATH=/usr/local/bin:$PATH
保存并刷新终端。然后你应该像这样安装RubyGems:
下载并设置最新的rubygems
wget http://rubyforge.org/frs/download.php/70696/rubygems-1.3.7.tgz
tar -xzv http://rubyforge.org/frs/download.php/70696/rubygems-1.3.7.tgz
cd rubygems-1.3.7
sudo su
# export PREFIX=/usr/local
# export GEM_HOME=$PREFIX/lib/ruby/gems/1.8
# export RUBYLIB=$PREFIX/lib/ruby:$PREFIX/lib/site_ruby/1.8
# ruby setup.rb all —prefix=$PREFIX
exit
编辑〜/ .bash_profile并添加以下行
export PREFIX=/usr/local
export GEM_HOME=$PREFIX/lib/ruby/gems/1.8
export RUBYLIB=$PREFIX/lib/ruby:$PREFIX/lib/site_ruby/1.8
你们都很好。 刷新终端,
答案 0 :(得分:0)
Ruby及其工具“非常聪明”。他们了解执行上下文,并将根据它们的起始位置查找配置。第一次执行是在系统目录之外,而后者是在您的主目录之外。
鉴于你有两个不同的版本并且你在Mac上,这意味着你必须手动或通过RVM安装Ruby。鉴于新版本不在系统目录中,我猜你试图手动安装更新版本的Ruby,现在我很困惑为什么它不适合你。您已将其安装到系统空间,但未在主目录中更新Ruby的配置。不幸的是,我没有回答如何让你离开这个位置。希望您有一些东西可以让您撤消安装。
安装不同Ruby副本的更安全的方法是使用Ruby Version Manager(RVM)。它可以在不更改系统的情况下安装多个Ruby副本。从命令行,您可以使用不同的解释器为该会话调用。因此,系统保持不变,但您可以运行JRuby,v1.9.2等
希望这会让你朝着一个方向前进。