Установил fxruby поверх macports, теперь rubygems не работает - PullRequest
2 голосов
/ 07 февраля 2010

Я установил fxruby, используя

$sudo port install rb-fxruby

Как предлагается в книге.

Это работает, моя программа hello world работала корректно.

Теперь другой написанный мной код не работает, и всякий раз, когда я пытаюсь использовать любой код, основанный на геме, он не работает. Когда я делаю $ruby -e "require 'rubygems'" в моем коде это дает

"LoadError: no such file to load — rubygems" 

Когда я установил свой RUBYOPT="rubygems" в моем .bash_profile

$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 ]

2 голосов
/ 04 марта 2010

Если вы установили rb-fxruby через macport, он также установит макпорт ruby.

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

Но, как вы видите, rb-rubygems (версия rubygems для macport) не указана в качестве зависимости, поэтому вам придется установить ее вручную.

$ sudo port install rb-rubygems

должен сделать это за вас.

1 голос
/ 07 февраля 2010

Похоже, вы пытаетесь использовать поставляемую Apple gem, которая работает с поставляемой Apple ruby. Вы установили версию MacPorts?

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