在OS X中运行gem时出现问题

时间:2010-03-18 09:40:17

标签: ruby rubygems osx-snow-leopard

我正在运行Snow Leopard,并根据此处的指南安装了定制的Ruby:http://hivelogic.com/articles/compiling-ruby-rubygems-and-rails-on-snow-leopard。我的ruby二进制文件位于usr / local / bin / ruby​​中,我的gem安装在/ usr / local / bin / gem中。我的宝石env看起来像这样:

  

RUBY VERSION:1.8.7(2008-08-11 patchlevel 72)[universal-darwin10.0]      - 安装目录:/ Library/Ruby/Gems/1.8      - RUBY EXECUTABLE:/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby      - EXECUTABLE目录:/ usr / bin

我想我可能已经开始安装,因为对宝石采取的所有操作都会产生错误:

  

错误:执行gem时...(Errno :: EEXIST)       文件存在 - / usr / local / bin / ruby​​

如何编辑gem环境的环境变量? 对于那些在OS X上使用ruby AND gem的人,你用什么来启动和运行? 我正在考虑把所有事情都搞砸,重新开始。

2 个答案:

答案 0 :(得分:0)

看起来你在/ usr / local / bin中安装ruby不是你得到的ruby,这可能意味着/ usr / local / bin /不在你的PATH中。如果您想运行该ruby,请尝试编辑.bash_profile以添加/ usr / local / bin,如下所示:

  

export PATH = / usr / local / bin:$ PATH

或者,您可以在/etc/paths.d中添加文件路径,这是在OS X系统上全局添加路径的首选方法。


我尝试了三种不同的方式,每种方式都有不同的结果。我的系统使用默认安装(/ usr / bin),手工构建/ usr / local / bin以及/ opt / local / bin中的Mac端口。

到目前为止,最简单的方法是使用内置二进制文件,10.6.2是ruby 1.8.7。在该方案中,gem安装在/ Library / Ruby / Gems中。第二个最简单的是MacPorts(sudo port install ruby​​),第三个是完全来自上面描述的源方法。当然人们有很好的理由从源代码安装,但除非您尝试运行ruby 1.9或其他版本,否则最好使用内置的ruby 1.8.7。

答案 1 :(得分:0)

命令“gem env”是否不报告任何宝石路径?我的报告了许多宝石路径以及你自己似乎没有做过的某些版本的rubygems等。

RubyGems Environment:
  - RUBYGEMS VERSION: 1.3.5
  - RUBY VERSION: 1.8.7 (2008-08-11 patchlevel 72) [universal-darwin10.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-10
  - GEM PATHS:
     - /Library/Ruby/Gems/1.8
     - /Users/steveweet/.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://gems.rubyforge.org/

您可以通过在shell启动文件中指定它们来编辑与gem关联的环境变量(.bashrc for bash)。相关变量全部列在gem网站的environment页面中。您需要特别注意GEM_HOME和GEM_PATH。您可以通过在shell配置文件中键入echo $ GEM_HOME来检查这些设置的当前设置

我建议您此时的最佳操作可能是回到OS / X提供的默认ruby安装,然后下载并安装rvm (The Ruby version manager),然后观看Ryan Bates screencast < / p>