Подтвердить что ты не робот

Как установить Ruby 1.9.3 в Mac OS X Lion?

Я пытаюсь установить Ruby 1.9.3, но у меня проблемы. Я установил RVM, затем набрал:

rvm install 1.9.3

Вывод:

ERROR: Error running ' ./configure....

В журнале говорится:

configure: WARNING: unrecognized options: --with-libyaml-dir 
checking build system type... x86_64-apple-darwin11.2.0 
checking host system type... x86_64-apple-darwin11.2.0 
checking target system type...x86_64-apple-darwin11.2.0 
checking whether the C compiler works... no
configure: error: in `/Users/myuser/.rvm/src/ruby-1.9.3-p0':
configure: error: C compiler cannot create executables See `config.log' for more details

Я загрузил новый XCode из App Store и установил его.

4b9b3361

Ответ 1

Попробуйте использовать компилятор clang вместо значения по умолчанию:

rvm install 1.9.3 --with-gcc=clang

Ответ 2

RVM нуждается в gcc-4.2 для установки ruby ​​1.9.3. К сожалению, Lion больше не включает gcc-4-2, только версию llvm:

lrwxr-xr-x  1 root  wheel  12 15 feb 17:21 /usr/bin/gcc -> llvm-gcc-4.2

Если у вас есть Lion, но он обновлен с Snow Leopard, вполне вероятно, что у вас все еще есть gcc-4.2. Если у вас установлена ​​новая установка Lion, вы должны скачать gcc-4.2. Я рекомендовал загрузить этот пакет.

https://github.com/kennethreitz/osx-gcc-installer

Убедитесь, что у вас установлен gcc-4.2:

-rwxr-xr-x  1 root  wheel  113024 16 may  2011 /usr/bin/gcc-4.2
lrwxr-xr-x  1 root  wheel      12 15 feb 17:21 /usr/bin/gcc -> llvm-gcc-4.2

Теперь вы можете установить ruby ​​1.9.3, как обычно:

rvm install 1.9.3
rvm use 1.9.3 --default

Ответ 3

Если вы хотите просто установить и обновить последнюю версию Ruby (в отличие от переключения между различными версиями ruby), вы можете установить ruby ​​через homebrew:

brew install ruby

Ответ 4

  • Открыть Xcode
  • Открыть настройки Xcode
  • Открыть вкладку "Загрузки"
  • Проверить средства командной строки

Xcode screenshot

Ответ 5

Попробуйте сначала:

rvm get latest

Вот что я работаю:

  rvm:
    version:      "rvm 1.9.2 by Wayne E. Seguin ([email protected]) [https://rvm.beginrescueend.com/]"

  ruby:
    interpreter:  "ruby"
    version:      "1.9.3p0"
    date:         "2011-10-30"
    platform:     "x86_64-darwin11.2.0"
    patchlevel:   "2011-10-30 revision 33570"
    full_version: "ruby 1.9.3p0 (2011-10-30 revision 33570) [x86_64-darwin11.2.0]"

Ответ 6

Собственно, ruby-1.9.3-p125 теперь работает с gcc-llvm. Но, текущие стабильные/последние релизы rvm пока еще не установлены. Но это было просто rvm быть осторожным, и теперь есть исправление к обходному пути в главной ветки rvm.

Просто обновите rvm до главной ветки и установите/обновите ruby:

GT-MBP:~ gthiruva$ rvm upgrade ruby-1.9.3-p0 1.9.3
Are you sure you wish to upgrade from ruby-1.9.3-p0 to     ruby-1.9.3-p125? (Y/n): Y
Installing new ruby ruby-1.9.3-p125
Fetching yaml-0.1.4.tar.gz to /Users/gthiruva/.rvm/archives
Extracting yaml-0.1.4.tar.gz to /Users/gthiruva/.rvm/src
Configuring yaml in /Users/gthiruva/.rvm/src/yaml-0.1.4.
Compiling yaml in /Users/gthiruva/.rvm/src/yaml-0.1.4.
Installing yaml to /Users/gthiruva/.rvm/usr
The autodetected CC(/usr/bin/gcc-4.2) is LLVM based, it is not yet fully supported by
ruby and gems, please read `rvm requirements`, and set CC=/path/to/gcc .
Unable to install ruby ruby-1.9.3-p125.         Please install it manually to continue.
GT-MBP:~ gthiruva$ rvm get head
Original installed RVM version:

rvm 1.10.2 by Wayne E. Seguin <[email protected]>, Michal Papis
<[email protected]>`enter code here` [https://rvm.beginrescueend.com/]
...
RVM reloaded!
GT-MBP:~ gthiruva$ rvm reload
RVM reloaded!
GT-MBP:~ gthiruva$ exec bash

rvm 1.10.2 by Wayne E. Seguin <[email protected]>, Michal Papis <[email protected]> 
[https://rvm.beginrescueend.com/]

GT-MBP:~ gthiruva$ rvm upgrade ruby-1.9.3-p0 1.9.3
Are you sure you wish to upgrade from ruby-1.9.3-p0 to     ruby-1.9.3-p125? (Y/n): Y
Installing new ruby ruby-1.9.3-p125
...
Successfully migrated ruby-1.9.3-p0 to ruby-1.9.3-p125
Upgrade complete!

Ответ 7

  • Удалите/удалите все следы вручную установленных старых рубиновых версий и дополнений (sqlite3, libxml2-x.x.x, libxslt-x.x.x) из вашего/usr/local/или где бы вы их не установили.
  • Загрузите и установите JewlryBox http://unfiniti.com/software/mac/jewelrybox, который является интерфейсом GUI RVM для управления рубинами и gemset.
  • В JewlryBox нажмите "Добавить Ruby" и выберите версию ruby, которую вы хотите установить (я выбрал 64-битный, Enabled Shared и не проверял/не галочку "Использовать clang" ).

Работает с OS X Lion 10.7.3 и Xcode 4.3. Средства командной строки установлены.

Ответ 8

Введите следующие команды

  • ~ $: источник ~/.rvm/scripts/rvm
  • ~ $: type rvm | head -n 1

    rvm - функция

  • ~ $: vi ~/.bash_profile добавить эту строку в bash_profile "source ~/.rvm/scripts/rvm"

  • ~ $: rvm install 1.9.3

  • ~ $: rvm use 1.9.3

Ответ 9

Clang не рубил рубины для меня, а rvm install rubies не удалось, независимо от того, что с одним пользователем rvm. Sudo в сочетании с некоторым разрешением и изменениями PATH для моего пользователя сделали это. Вот что я сделал:

sudo bash -s stable < <(curl -s https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer )</pre>
sudo rvm pkg install readline
sudo rvm install 1.9.3

Установка rvm от пользователя root делает оболочку script в /usr/local/rvm/scripts/rvm Вытащил код из этого исполняемого файла и поместил его в мой .bash_profile, чтобы .bash_profile был сохранен как:

[ -s "/usr/local/rvm/scripts/rvm" ]] ;
    true ${rvm_path:="/usr/local/rvm"}
    source "/usr/local/rvm/scripts/rvm"
[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # Load RVM function

Группа пользователей RVM была создана во время установки root пользователя rvm. Последнее, что я сделал, это перейти на панель настроек в OSX 10.7 и добавить пользователя в новую группу rvm. Наконец, я перезагрузил свой терминал и смог установить 1.9.3 через одного пользователя rvm.

Ответ 10

Используя rvm, ruby ​​1.9.3 и пытаясь использовать gcc, я не смог получить Ruby для строгой очистки с помощью yaml. Хотя существует множество хаков, чтобы заставить компиляцию yaml работать, ни один из них, похоже, не работал с rvm. У меня были проблемы с поломкой поздно ночью, и я не сохранил свои ошибки, поэтому я работаю из памяти здесь. Я был бы признателен, если бы кто-то другой с чистой средой мог проверить эти шаги.

Использование решения --with-gcc=clang произвело слегка печально известную ошибку в анализе yaml:

It seems your ruby installation is missing psych (for YAML output). To eliminate this warning, please install libyaml and reinstall your ruby. 

Так как мне нужен yaml для того, что я собираюсь делать, а libyaml скомпилирован отлично, когда его не запускает rvm, и я даже установил его в /usr/lib после его создания вручную, я не могу понять почему rvm не смог найти и использовать эту версию libyaml, даже с опцией --shared-libs.

Использование CC=/usr/bin/gcc rvm install 1.9.3 ошибок. В .rvm/log/ruby-1.9.3-p385/configure.log я обнаружил следующее:

configure: error: C compiler cannot create executables
See `config.log' for more details

Эта ошибка также присутствовала в .rvm/log/libyaml-0.14/configure.log.

Решение для меня состояло в том, чтобы запустить команду rvm с помощью sudo. Выполнение компиляции в виде корня, похоже, приводит к отказу Apple GCC от неодобрения пользователей, делающих что-либо столь же грязным, как компиляция программного обеспечения.

Итак, sudo CC=/usr/bin/gcc rvm install 1.9.3 --disable-binary дал мне чистую компиляцию ruby ​​+ yaml в папке rvm. Затем мне нужно было sudo chown -R username ~/.rvm && sudo chgrp -R staff ~/.rvm, чтобы вернуть данные в мой пользователь и работать с моими разрешениями.

Я не рекомендую компилировать вещи как root, так как я вижу это как угрозу безопасности (особенно с уязвимостями, обнаруженными в ruby ​​stack и rubygems.org в последнее время), но это привело к чистой установка рубина под rvm и может помочь кому-то с большим талантом или временем выяснить основную причину проблемы с Apple gcc.

Ответ 11

С помощью новых инструментов командной строки Feb 2012 для Xcode, используя RVM 1.10.3 (и JweleryBox для Mac), Ruby 1.9.3-p125 компилируется отлично, без использования "clang" и с общей связью и 64-битной архитектурой. Более того, команда "gem install rails" работает безупречно без предупреждения о поддержке libyaml.