我使用
安装了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]
答案 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