2010-03-18 63 views
1

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

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

我想我可能已经borked安装,因为抽放上宝石的一切行动给予错误:

ERROR: While executing gem ... (Errno::EEXIST) File exists - /usr/local/bin/ruby

如何编辑的环境变量宝石环境? 对于那些在OS X上使用ruby和gems的人,你用什么来启动和运行? 我正在考虑只是让所有事情都受到影响而重新开始。

+0

它可能有助于查看您的$ PATH看起来像什么。不过,如果你只是想起床跑步,Snow Leopard配备了很好的红宝石和宝石。你有需要定制安装的原因吗? – mckeed 2010-03-18 15:35:14

+0

什么版本的宝石你运行宝石 - 版本 – 2010-03-18 18:19:50

回答

0

它看起来像你到/ usr/local/bin的红宝石安装不是你得到的ruby,这可能意味着/ usr/local/bin /不在你的PATH中。如果你想运行红宝石,尝试修改你的.bash_profile添加在/ usr/local/bin目录是这样的:

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

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


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

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

+0

感谢你。我的路径如下所示: > /usr/local/bin:/usr/local/sbin:/usr/local/mysql/bin:/users/aegir/.gem/ruby:/usr/bin:/bin:/ usr/sbin:/ sbin:/ usr/local/bin:/ usr/local/git/bin:/ usr/X11/bin 所以usr/local/bin在我的路径中。但我还没有想到安装时会出现这些宝石。由于gem库位于System/Library/Frameworks中,所以很可能gem环境很混乱,但我的ruby二进制文件位于usr/local/bin中。 我可能更好只是删除那里的二进制文件,并指出一切默认路径。 – akarnid 2010-03-18 18:15:35

+0

他正在收到的错误似乎表明,宝石尝试写入/ usr/local/bin/ruby – 2010-03-18 18:22:14

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启动文件中指定他们,(.bashrc中的bash)的编辑与宝石相关的环境变量。相关变量全部列在宝石网站的environment页面。您需要特别注意GEM_HOME和GEM_PATH。您可以通过在shell配置文件中输入echo $ GEM_HOME来检查当前的设置

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