У меня возникают проблемы при установке Rails на OS X Lion с помощью RVM.
Пока что я сделал следующее:
- Установлена Mac OS X Lion версии 10.7 (сборка 11A459e).
- Установлен XCode 4.1 Developer Preview 5.
- Установил РВМ.
- Установил версию Ruby 1.8.7 через RVM с помощью команды
rvm install 1.8.7
. Примечание: мне нужно использовать 1.8.7, а не 1.9.2. - Перешел на версию Ruby 1.8.7 с помощью команды
rvm 1.8.7
. - Создал новый гемсет с помощью команды
rvm gemset create rails3
. - Переключился на новый гемсет с помощью команды
rvm use 1.8.7@rails3
. Чтобы установить Rails, я выполнил команду,
gem install rails
но получил следующую ошибку:/Users/m/.rvm/rubies/ruby-1.8.7-p334/lib/ruby/1.8/timeout.rb:60: [BUG] Ошибка сегментации
Та же ошибка возникает при попытке запустить любую команду gem, поэтому я не думаю, что это действительно проблема с Rails.
Судя по ссылкам ниже, я не думаю, что единственный, у кого есть эта проблема:
http://twitter.com/#!/pingles/status/66261101351927809 и https://github.com/carlhuda/bundler/issues/1058
ruby-on-rails
ruby
macos
rvm
Майкл Джером
источник
источник
rvm info
и посмотрите, что в нем говорится. Это может содержать некоторые подсказки.Ответы:
Починил это!
Ответ был на самом деле по одной из ссылок, которые я разместил выше. Перед установкой версии ruby (rvm install 1.8.7) мне нужно было запустить "
export CC=/usr/bin/gcc-4.2
". С этим все прошло гладко.Если вы не хотите
CC
постоянно экспортировать, вы можете сделатьCC=/usr/bin/gcc-4.2 rvm install 1.8.7
Если вы уже установили Ruby 1.8.7. Просто делать
CC=/usr/bin/gcc-4.2 rvm reinstall 1.8.7
источник
CC=/usr/bin/gcc-4.2 rvm install 1.8.7
всего одну строку, чтобы просто переопределить CC для установки rvm..zshrc
файл..rvmrc
скриптами запуска zsh , поэтому я вернулсяbash
на некоторое время. Таким образом, я добавил эту строку в свой.bash_profile
.Если вы установили Xcode 4.2, он больше не устанавливает не-LLVM gcc, поэтому вам нужно добавить его. По какой-то причине переход на 4.1 после того, как вы установили 4.2, работает некорректно (по крайней мере, у меня и у других были похожие проблемы).
После долгих попыток вот что наконец сработало для меня:
Закройте все открытые окна терминала, откройте новое и
rvm remove ree export CC=/usr/bin/gcc-4.2 rvm install ree
У меня это сработало с rvm 1.8.6, OS X 10.7.2 и gcc-4.2 версии 4.2.1 (сборка Apple 5666).
Если вы уже установили Xcode 4.1, не поддавайтесь желанию перейти на 4.2, и все будет в порядке.
источник
Если это все еще не работает, добавьте --force. Итак, это становится:
CC=/usr/bin/gcc-4.2 rvm install ruby-1.8.7 --force
источник
make clean
более подходящей командой является использование из командной строки в каталоге установки вместо--force
. Force игнорирует ошибки, и на них следует обращать внимание. Так что будьте осторожны.Убедитесь, что вы удалили 1.8.7, если вы уже установили его, прежде чем использовать "
export CC=/usr/bin/gcc-4.2
" путем выполнения "rvm remove 1.8.7
"источник
У меня была такая же проблема в моей системе. Я установил инструменты командной строки Xcode от Apple, которые поставляются с компилятором LLVM и без бесплатного LLVM.
Ruby 1.8.7 не будет работать даже с компилятором LLVM
CC=clang
, поэтому установка gcc без LLVM решает проблему.Здесь перечислены несколько вариантов:
https://github.com/mxcl/homebrew/wiki/Custom-GCC-and-cross-compilers
Короче говоря, установите GCC v4.2 с Homebrew :
brew install https://raw.github.com/Homebrew/homebrew-dupes/master/apple-gcc42.rb
а затем установите Ruby 1.8.7:
CC=gcc-4.2 rvm install 1.8.7
источник
brew install https://raw.github.com/Homebrew/homebrew-dupes/master/apple-gcc42.rb
вместо этого.Вместо
export CC=/usr/bin/gcc-4.2
"делать"export CC=gcc
(должен быть установлен xCode 4.2.x).источник
Проверьте, какая у вас версия gcc:
ls -Al `which gcc-4.2`
Я следовал инструкциям здесь: http://robots.oughttbot.com/post/27985816073/the-hitchhikers-guide-to-riding-a-mountain-lion
Затем переустановите:
Еще раз проверьте, какой у вас путь к gcc (для использования в CC =):
ls -Al `which gcc-4.2`
(необязательно) Вы можете установить это в своем .bashrc, например:
export CC=/usr/bin/gcc-4.2
(необязательно) удалить любую старую версию ruby
rvm remove 1.8.7
Потом:
CC=/usr/local/bin/gcc-4.2 rvm --verify-downloads 1 reinstall 1.8.7-p357 --without-tcl --without-tk
или если вы установили CC в своем профиле
rvm --verify-downloads 1 reinstall 1.8.7-p357 --without-tcl --without-tk
Обратите внимание на флаги при установке rvm. У меня были проблемы с проверкой контрольной суммы на ftp-сервере и некоторые проблемы с tck, а также с другими. Вы можете опустить эти флаги.
Также: вам может потребоваться удалить старую версию вашего гемсета:
потом
Надеюсь это поможет.
источник
Используется macport и версия ruby-1.9.x. Я успешно установил рельсы с рубиновым камнем.
источник
У меня такая же проблема только для Arch x86_64 , когда я комментирую строку в моем ~ / .rvmrc
rvm_archflags="-arch x86_64"
Откройте новый терминал и снова попытайтесь установить ruby-1.8.7
rvm install 1.8.7
Это было успешно.
источник
Если вы используете RVM в процессе разработки, я добавил исправление в файл .rvmrc для OS X Lion.
https://gist.github.com/1112962
(обновленное имя файла)
источник
Это не связано с RVM, но если вы ищете локальную среду разработки для Lion, вы можете попробовать RubyStack. Это бесплатный универсальный установщик с открытым исходным кодом для Apache, MySQL, Ruby, Rails и т. Д. Он не требует компиляции и является самодостаточным, поэтому, если он вам не нравится, вы можете просто удалить каталог установки, и все готово. Отказ от ответственности: я один из разработчиков RubyStack :)
источник
CC=/usr/bin/gcc-4.2 rvm install 1.8.7
у меня не сработало, я использовалCC=/usr/bin/gcc rvm install 1.8.7
и он работал (проверяю с помощью "whichgcc
")источник
Даже со всеми другими предложениями на этой странице я все еще получал сбои и расстраивался, поэтому я сказал: «Да ладно!» и используйте предоставленный системой Ruby 1.8.7:
Вам нужно использовать sudo для установки драгоценных камней, но все же меньше головной боли.
источник
Мое решение заключалось в том, чтобы переопределить символическую ссылку / usr / bin / gcc в терминале. Вот как я это сделал:
https://plus.google.com/101970693023462019144/posts/eYVLvMCqTmc
Это не только устранило мою установку RVM, но и убедилось, что установка гемов с собственными расширениями (например, rmagick) работает.
источник