2010-02-07 34 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