Я использую RVM для его установки, и это дает мне эту ошибку:
The provided compiler '/usr/bin/gcc' is LLVM based, it is not yet fully supported by ruby and gems, please read `rvm requirements`.
Я на Lion 10.7.3, и у меня Xcode 4.3.1.
Я использую RVM для его установки, и это дает мне эту ошибку:
The provided compiler '/usr/bin/gcc' is LLVM based, it is not yet fully supported by ruby and gems, please read `rvm requirements`.
Я на Lion 10.7.3, и у меня Xcode 4.3.1.
Короткий ответ: вы можете захватить ведущую ветвь RVM (нестабильной), чтобы построить ее с LLVM (а не gcc, я сначала ошибся). У него есть соответствующие исправления, чтобы сделать 1.9.3-p125 для запуска (по крайней мере, лучше) с Xcode 4.3.1 по умолчанию. Я предоставил патч. Если вы уже установили RVM, rvm get head
установит мастер-ветку. С инструментами командной строки, установленными с Xcode 4.3.1, вы можете успешно установить Ruby 1.9.3-p125.
Фон
Это происходит из-за простой проблемы с конфигурацией Ruby 1.9.3-p125, она не позволяет работать с динамическими модулями ссылок. Это происходит, если вы используете Xcode 4.3.x(Ruby Issue # 6080).
Эта проблема исправлена в изменении набора r34840.
RVM имеет систему патчей, которая обеспечивает основу для каждой версии. Этот патч включен в RVM (главная ветвь на данный момент) и теперь по умолчанию для шагов настройки p125.
Инструмент командной строки Xcode 4.3.x
Во-первых, с помощью Xcode 4.3.x вам необходимо установить инструмент командной строки ПОСЛЕ установки Xcode 4.3.x, следуя указаниям: 1) Запуск Xcode, 2) Откройте "Настройки" из пункта "Xcode" в строке меню, 3) Выберите вкладку "Загрузки" (значок). 4) Нажмите кнопку "Установить" для "Инструменты командной строки" (направления, заимствованные у моего друга сайта здесь)
Если Xcode 4.3.1 правильно установлен, то cc --version
должен испускать:
% cc --version
Apple clang version 3.1 (tags/Apple/clang-318.0.54) (based on LLVM 3.1svn)
Target: x86_64-apple-darwin11.3.0
Thread model: posix
autoconf и automake
Вам нужно autoconf и automake, так как Xcode 4.3.x их не имеет. Установите их либо brew
, либо MacPorts.
С помощью MacPorts
:
sudo port install autoconf automake
Рекомендуемый шаг установки с RVM
Затем для установки конкретной ветки RVM вы можете:
REPO=wayneeseguin
BRANCH=master # stable for the stable branch
curl -s https://raw.github.com/${REPO}/rvm/${BRANCH}/binscripts/rvm-installer > /tmp/rvm-installer.sh
bash /tmp/rvm-installer.sh --branch ${REPO}/${BRANCH}
Или если RVM уже установлен:
rvm get head # master branch, for stable branch "rvm get stable"
После этого установите для параметра bestsl, iconv и readline команду rvm pkg для получения наилучшего результата. Я делаю это в последнее время. Часть этого может потребоваться включить в RVM..
rvm pkg install openssl
rvm pkg install readline # if you prefer GNU readline
Затем, наконец, установите Ruby.
rvm install 1.9.3-p125 --patch xcode-debugopt-fix-r34840.diff --with-readline-dir=$rvm_path/usr --with-openssl-dir=$rvm_path/usr --with-tcl-lib=/usr --with-tk-lib=/usr
rvm pkg help рекомендует другой параметр, помощь не работает. Так что используйте выше на данный момент. Вам нужны параметры tcl/tk, если у вас есть их через MacPorts (например, я)
Кстати, можно установить старый Xcode, а затем запустить rvm с export CC="gcc-4.2" rvm install 1.9.3-p125
, но я лично считаю, что clang (LLVM) - это путь к будущему, если это возможно.
Надеюсь, что это поможет.
Дополнительное примечание к 2012/3/31
iconv не нужно устанавливать, также добавлены требования autoconf/automake для разъяснений.
Дополнительное примечание к 2012/4/13
Последняя стабильная версия не включает исправление, требующее, чтобы динамическая ссылка работала по умолчанию.
вам нужно добавить --patch xcode-debugopt-fix-r34840.diff
при создании 1.9.3-p125.
В соответствии с RVM 1.10.2 вам нужно установить homebrew package apple-gcc42
, и все будет "Just Work (TM) )":
brew tap homebrew/dupes ; brew install apple-gcc42 ; rvm install ruby-1.9.2
Ciao!
[Обновлено на основе комментариев ниже]
Вам просто нужно установить gcc-4.2 в /usr/bin.
Вот загрузка https://github.com/downloads/kennethreitz/osx-gcc-installer/GCC-10.7-v2.pkg.
И затем CC =/usr/bin/gcc-4.2 rvm install 1.8.7 --force
Я думаю, люди сбиты с толку, что все пишут
rvm get head
rvm get stable
вместо этого вы должны ТОЛЬКО писать
rvm get head
в противном случае он не будет работать (поскольку у стойки еще нет соответствующих патчей).
У меня также была проблема с ruby-1.9.3-p125, вот что я сделал, надеюсь, что это может помочь кому-то по очереди.
rvm install ruby-1.9.3-p194
и проверили, что новый рубин, установленный с помощью
rvm list
ruby-1.9.2-p318 [ x86_64 ]
ruby-1.9.3-p125 [ x86_64 ] I want to remove this one
ruby-1.9.3-p194 [ x86_64 ] I want to use this one
Затем я удалил старую версию ruby
rvm удалить ruby-1.9.3-p125
и установите новый рубин ruby-1.9.3-p194 для использования и установки драгоценных камней
rvm использовать ruby-1.9.3-p194
установить пакет
Я установил и протестировал следующие действия, подобные приведенным выше. Однако я просто удалил все и выполнил базовую установку для всех этих. Единственное исключение заключалось в том, что вместо того, чтобы использовать диалог настроек xcode для установки инструментов командной строки (которые не удались для меня). Apple опубликовала отдельную версию, которую я использовал в пункте 2.)
Есть статьи, рекомендующие это для ruby >= 1.9.3, и все, что я тестировал и в настоящее время использую. Я установил и использовал mysql2, sqlite и обычный подозреваемый (GEM). Они все скомпилировали и передали некоторые из моих основных тестов.
Надеюсь, что это поможет.