2013-03-26 3 views
1

Я пытался заставить Ruby работать на моем Mac несколько дней, и все, что я делаю, похоже, не будет успешным. Я установил MacPorts и последовал пост здесь: Installing Ruby on Mac OS X 10.8.2Невозможно получить рубин, работающий на Mac OSX 10.8.3

Я побежал следующие команды:

sudo port selfupdate 
sudo port install apple-gcc42 

Они завершили успешно, то я побежал строку ниже:

CC=/opt/local/bin/gcc-apple-4.2 rvm install ruby-1.9.3-p194 --enable-shared --without-tk --without-tcl 

После того как я запустить эту линию это занимает пару минут, и я получаю следующее:

введите код здесь База MacPorts уже является последней версией DEBUG: настройка права собственности на источники MacPorts на root Дерево портов обновлено. Чтобы обновить установленные порты, вы должны запустить Обновление порта устарело i686-apple-darwin12-gcc-apple-4.2.1: нет входных файлов Отсутствие необходимых пакетов: autoconf, automake, libtool, pkgconfig, libiconv, libyaml, readline, libxml2, libxslt, libksba, openssl, curl-ca-bundle, sqlite3, zlib, ncurses, gdbm. Трусливый отказ от продолжения, пожалуйста, прочитайте «rvm autolibs». Были ошибки установки пакета, обязательно прочтите журнал.

Нужно ли устанавливать недостающие пакеты, на которые оно ссылается? Если да, то как мне это сделать? Я не очень хорошо знаком с MacPorts и буду благодарен за помощь в этом.

Поскольку я изначально я пошел установить RVM через https://rvm.io/rvm/install/ я последовал за первую команду РВМ с рубином:

$ \curl -#L https://get.rvm.io | bash -s stable --autolibs=3 --ruby 

После того как я выполнил команду его скачали и скомпилированный затем, когда он пошел установить RubyGems-2.0. 3 для рубинового-2.0.0-p0 он дал следующее сообщение об ошибке:

Error running 'env GEM_PATH=/usr/local/rvm/gems/ruby-2.0.0-p0:/usr/local/rvm/gems/[email protected]:/usr/local/rvm/gems/ruby-2.0.0-p0:/usr/local/rvm/gems/[email protected] GEM_HOME=/usr/local/rvm/gems/ruby-2.0.0-p0 /usr/local/rvm/rubies/ruby-2.0.0-p0/bin/ruby -d /usr/local/rvm/src/rubygems-2.0.3/setup.rb --verbose', please read /usr/local/rvm/log/ruby-2.0.0-p0/rubygems.install.log

затем я пошел, чтобы открыть файл журнала и на дне он говорит

ERROR: While executing gem ... (NoMethodError) undefined method fu_stream_blksize for #<Gem::Commands::SetupCommand:0x007fa09b05d7a8> Installing RubyGems Installing gem executable

Любые идеи, что я могу сделать дальше?

Заранее спасибо.

+1

Дайте доморощенным попробовать по Macports, у меня никогда не было проблем с тех пор, как я сделал этот конкретный переключатель. См. Например https://earino.wordpress.com/2012/07/02/macports-x-homebrew-a-quick-story-14/. – Thilo

+0

Один из самых распространенных способов получить Ruby на локальном компьютере - фактически через RVM. Он имеет дополнительное преимущество, позволяя вам устанавливать множество версий Ruby и переключаться между ними. Вы пробовали это? https://rvm.io/ – jefflunt

+0

Или скомпилировать Ruby из исходного кода http://www.ruby-lang.org/en/downloads/ – slowpoke

ответ

2

У меня были подобные проблемы с OS X 10.8.3 и XCode 4.6.1. После некоторого googling я попробовал установку с аналогичной командой RVM, за исключением использования XCode-версии clang (которая символизирует ссылку/usr/bin/cc). Попробуйте это:

\curl -#L https://get.rvm.io | bash -s stable #just get rvm 

source ~/.rvm/scripts/rvm 

rvm get head # update to latest rvm 

CC=/usr/bin/cc rvm install ruby 

Он должен иметь тот же отказ установка RubyGems-2.0.3, но при переустановке только RubyGems должен работать:

CC=/usr/bin/cc rvm install rubygems latest # substitute "2.0.3" for "latest" if you like. 

Оказывается, что это bug in rubygems, который запланирован для фиксации в 2.0.4.

Надеюсь, что это поможет!

+0

Большое спасибо за ваш ответ. Оказалось, что это вопрос с разрешениями. Я выполнил следующую команду, а затем это сработало ... sudo chown -R $ USER: $ rvm_path – Aaron

2

Я думаю, что эта ошибка предоставляется от FileUtils. Чтобы исправить это, вам нужно изменить скрипт rubygems из rvm: nano .rvm/scripts/rubygems Чтобы найти слова в nano, используйте ctrl+w setup.rb и удалите --verbose. После этого вам нужно ctrl+o, чтобы сохранить файл и ctrl+x закрыть nano.

Теперь вы можете переустановить RubyGems:

rvm rubygems remove 
rvm rubygems latest 

Извините за мой плохой английский. Надеюсь, это поможет вам.

+0

Ницца. Это на самом деле нуждалось в небольшой корректировке для меня, потому что я пытался «$ rvm install 2.0.0.-p0», но я получил ошибку OP. В моем случае текущая среда ruby ​​2 была временно установлена ​​установщиком. Поэтому я попробовал свои инструкции, но в итоге я удалил и переустановил rubygems для ruby ​​1.9 ... Выполнение '$ rvm use 2.0.0-p0', а затем ваши инструкции. Я получил чистую установку rubygems. – Ando

+0

Возможно, вы все равно получите сообщение об ошибке после выполнения вышеуказанного шага, хотя рубигемы устанавливаются правильно. Существует ошибка при отображении заметок. Я поставил соответствующие ссылки и временное решение (до выпуска rubygems 2.1) ниже. –

0

Эта проблема безвредна, rubygems i s уже установлен и будет работать, как ожидалось, это вызвано https://bugs.ruby-lang.org/issues/7992 - с флагом --verbose для рубигемов - ваш рубин полностью работоспособен, если при установке не было другой ошибки.


Примечание стороны, RVM обнаруживает все опции/флаги, которые вы прошли, и не требуется, чтобы передать их вручную, было бы достаточно, чтобы запустить:

rvm install ruby-1.9.3-p194 


RVM установки Ран с --autolibs=3 эквивалентно запуску его withoug и установить его вручную с помощью:

rvm autolibs 3 

чтобы получить более подробную информацию о autolibs и доступных режимов Пробег:

rvm help autolibs 
Смежные вопросы