在macports上安装fxruby,现在rubygems坏了

时间:2010-02-07 12:23:34

标签: ruby macos rubygems macports fxruby

我使用

安装了fxruby
$sudo port install rb-fxruby

如书中所示。

它有效,我的hello world程序工作正常。

但是,现在,我编写的其他代码都被破坏了,每当我尝试使用任何依赖于gem的代码时,它都无效。当我做 $ruby -e "require 'rubygems'" 在我的代码中,它给出了

"LoadError: no such file to load — rubygems" 

当我在.bash_profile

中设置RUBYOPT="rubygems"
$ruby -e "puts 'hello world'"
ruby: no such file to load -- ubygems (LoadError)

(它说'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 个答案:

答案 0 :(得分: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 :(得分:1)

您似乎正在尝试使用与Apple提供的gem配合使用的Apple提供的ruby。你安装了MacPorts版本吗?

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