2010-02-07 35 views
2

我安装fxruby使用安装fxruby在MacPorts的,现在RubyGems是

$sudo port install rb-fxruby 

正如书中建议打破。

它的工作原理,我的你好世界程序正常工作。

但是,现在,我编写的其他代码已损坏,每当我尝试使用任何依赖于gem的代码时,它都不起作用。当我在我的代码 $ruby -e "require 'rubygems'" ,它给

"LoadError: no such file to load — rubygems" 

当我把我在我的.bash_profile

$ruby -e "puts 'hello world'" 
ruby: no such file to load -- ubygems (LoadError) 

RUBYOPT="rubygems"(它说 'ubygems' 没有在前面的 'R',不知道为什么)

http://newsgroups.derkeiler.com/Archive/Comp/comp.lang.ruby/2008-08/msg00351.html建议我检查我的宝石的位置对我的红宝石的位置,我得到:

$cat `which gem` | head -n 1 
#!/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby 

$ls -l `which ruby` 
-rwxr-xr-x 2 root admin 12680 Feb 7 03:40 /opt/local/bin/ruby 

我认为这意味着宝石混淆,但不知道如何补救。有任何想法吗?它糟透了,没有宝石。

--- UPDATE ---

忘记列出的版本:

$which gem 
/usr/bin/gem 

$gem --version 
1.3.5 

$ruby --version 
ruby 1.8.7 (2009-04-08 patchlevel 160) [i686-darwin9] 

回答

2

如果您通过macport安装了rb-fxruby,它也会安装macport ruby​​。

$ port info rb-fxruby 
... 
Library Dependencies: ruby, fox, fxscintilla 
... 

但正如你所看到的RB-的RubyGems(RubyGems的的macport版本)不列为依赖关系,所以你必须手动安装它。

$ sudo port install rb-rubygems 

应该为你做。

1

它看起来像你试图使用苹果提供的gem与苹果提供的ruby工作。你安装了MacPorts版本吗?

sudo port install rb-rubygems 
/opt/local/bin/gem 
+0

我买的电脑上安装了rubygems。我在/ opt/local/bin中没有文件gem。我应该尝试通过macports安装rubygems吗? 我有点觉得它改变了一个路径变量或者其他东西,如果我能弄清楚哪一个/哪里,那么我可以修复它,但是我不知道该去哪里看。 – 2010-02-07 21:57:15

+0

我不是一个红宝石专家,但我怀疑,默认情况下,已安装的宝石与特定的ruby实例相关联,因此当您安装MacPorts ruby​​时,您还需要其rubygems包,然后您可能必须重新安装宝石你需要使用它。一般来说,MacPorts软件包尽量保持与OS X中包含的Apple提供的版本不同的所有内容。 – 2010-02-07 23:15:42