2015-09-07 5 views
1

Я пытаюсь установить рельсы на мою ОС X 10.10 Yosemite я получаю эти ошибки:
Я уже устанавливаю инструменты командной строки XCode и проблемы с доморощенным и порогом.OS X 10.10 Yosemite install Rails error

ERROR: Error installing rails: 
ERROR: Failed to build gem native extension. 

/usr/local/opt/ruby/bin/ruby -r ./siteconf20150908-43862-19795mu.rb extconf.rb 
checking if the C compiler accepts ... *** extconf.rb failed *** 
Could not create Makefile due to some reason, probably lack of necessary 
libraries and/or headers. Check the mkmf.log file for more details. You may 
need configuration options. 

Provided configuration options: 
--with-opt-dir 
--with-opt-include 
--without-opt-include=${opt-dir}/include 
--with-opt-lib 
--without-opt-lib=${opt-dir}/lib 
--with-make-prog 
--without-make-prog 
--srcdir=. 
--curdir 
--ruby=/usr/local/Cellar/ruby/2.2.3/bin/$(RUBY_BASE_NAME) 
--help 
--clean 
/usr/local/Cellar/ruby/2.2.3/lib/ruby/2.2.0/mkmf.rb:456:in `try_do': The compiler failed to generate an executable file. (RuntimeError) 
You have to install development tools first. 
from /usr/local/Cellar/ruby/2.2.3/lib/ruby/2.2.0/mkmf.rb:571:in `block in try_compile' 
from /usr/local/Cellar/ruby/2.2.3/lib/ruby/2.2.0/mkmf.rb:522:in `with_werror' 
from /usr/local/Cellar/ruby/2.2.3/lib/ruby/2.2.0/mkmf.rb:571:in `try_compile' 
from extconf.rb:80:in `nokogiri_try_compile' 
from extconf.rb:87:in `block in add_cflags' 
from /usr/local/Cellar/ruby/2.2.3/lib/ruby/2.2.0/mkmf.rb:619:in `with_cflags' 
from extconf.rb:86:in `add_cflags' 
from extconf.rb:337:in `<main>' 

extconf failed, exit code 1 

Gem files will remain installed in /Users/Nitzan/.rvm/gems/ruby-2.2.1/gems/nokogiri-1.6.6.2 for inspection. 
Results logged to /Users/Nitzan/.rvm/gems/ruby-2.2.1/extensions/x86_64-darwin-14/2.2.0/nokogiri-1.6.6.2/gem_make.out 
Nitzans-MBP:~ Nitzan$ 

ответ

0

Возможно, у вас установлены как rbenv, так и rvm на вашей машине. Выберите что-то одно и удалите другое, или удалите оба, и установите снова предпочтительный в чистой таблице. Для простоты я бы сохранил rvm, проверьте его сайт: https://rvm.io/. Приветствия!

UPDATE: Теперь кажется, что у вас есть еще один установленный рубин, теперь через homebrew. Удалите его тоже. Точка использования RVM заключается в том, что для ваших проектов вам нужны несколько версий ruby ​​и только RVM управляет вашим текущим рубином, не используйте никаких других рубинов (system/homebrew).

РВМ Ускоренный курс:

  1. rvm current - показывать используемую в данный момент рубин и gemset (если таковые имеются) . Это очень важная информация, настолько важная, что я рекомендую вам поместить ее в приглашение командной строки (если вы выполняете много программирования ruby ​​ ), поэтому, когда вы запускаете любую команду оболочки, вы должны знать, какая из пара ruby ​​/ gemset вы используете. Используйте команду rvm-prompt, чтобы поместить ее в вашу оболочку (просто Google для «настроить приглашение командной оболочки» о том, как сделать это, я не буду вникать в эту тему здесь).
  2. rvm requirements - установить все необходимые требования для составления рубин на вашей платформе (это должно было быть сделано автоматически при запуске rvm install <ruby version>)
  3. rvm list - перечислит все установленные рубины и шоу, которые один по умолчанию и который один вы в настоящее время используете.
  4. rvm list known - покажет все рекомендуемые версии ruby, которые вы можете установить , посмотрите на раздел MRI, теперь вам не нужно все остальное.
  5. rvm install <ruby-version - очевидно, установите рубин какой-либо версии.
  6. rvm use <ruby-version>@<gemset> - переход на некоторые <ruby-version> и, факультативно <gemset>. Если ваш каталог содержит файлы .ruby-version и/или .ruby-gemset (см. Ниже), вы можете использовать следующий трюк: rvm use . - сделайте настройки RVM, определенные в этих файлах для вашего текущего каталога.

Итак, вот что я делаю, когда я не уверен, если я использую правильный рубин:

~/projects ♥ rvm current 
ruby-2.2.1 
~/projects ♥ rvm use [email protected] 
Using /Users/alexey/.rvm/gems/ruby-2.2.0 with gemset myapp 
~/projects ♥ 

Вы можете сделать rvm автоматически переключаться рубин версии и gemsets, если в корневом каталоге вашего проекта специальные файлы .ruby-version и .ruby-gemset (обратите внимание на . в передней части файла) и поставить свою версию рубиновой к .ruby-version и вашему gemset к .ruby-gemset, как это:

[email protected]_interaction in ~/projects/active_interaction on master ♥ cat .ruby-version 
ruby-2.1.4 
[email protected]_interaction in ~/projects/active_interaction on master ♥ cat .ruby-gemset 
active_interaction 
[email protected]_interaction in ~/projects/active_interaction on master ♥ cd .. 
[email protected] in ~/projects ♥ cd - 
~/projects/active_interaction 
[email protected]_interaction in ~/projects/active_interaction on master ♥ 

Обратите внимание, как меняется рубиновая версия в приглашении при переключении каталогов.

Это также полезно совершить .ruby-version файл, чтобы убедиться, что все на проекте, используя тот же рубин и не совершать .ruby-gemset, так как это может помешать некоторые пользовательские настройки других разработчиков (если у них есть gemset с другим именем , или просто не используйте никаких gemset вообще).

Теперь, что вам нужно сделать сейчас:

  1. Установите нужную версию рубиновый через РВМ.
  2. Перейдите в папку проекта и подготовьте файл .ruby-version и (необязательно) .ruby-gemset.
  3. Включите эти версии и убедитесь, что вы правильно переключились.
  4. Теперь вы можете запускать любые команды, которые вам нужны, rvm будет использовать ваш желаемый рубин.
+0

удалены rbenv и по-прежнему получают те же ошибки – android

+0

Перезагрузите терминал (просто откройте новую вкладку) и повторите попытку. Пожалуйста, обновите свою ошибку, потому что по крайней мере какой-то вывод должен измениться, поскольку вы удалили .rbenv (у вас не должно быть строк, содержащих '.rbenv'). Если вы все еще это сделаете, удалите его вручную через 'rm -rf ~/.rbenv'. –

+0

обновил ошибки – android

2

Была такая же проблема. Оказалось, что, хотя у меня были инструменты для разработки, я не соглашался с Условиями.

Попробуйте запустить команду «gcc». В моем случае я получил это сообщение

соглашаясь с лицензией Xcode/IOS требует права администратора, пожалуйста, повторно запустить как корень через Sudo.

Повторная эксплуатация этой же команды с sudo сделала трюк.

Смежные вопросы