Rubygems не устанавливаются на OS X Lion
Раньше у меня вообще не было проблем с рубином, драгоценными камнями и всеми подобными вещами. Но после установки X Code Developer Tools и обновления до Lion самоцветы не устанавливаются.
Я получаю следующую ошибку для каждого драгоценного камня. Это сообщение для sqlite в качестве примера:
Building native extensions. This could take a while...
ERROR: Error installing sqlite3:
ERROR: Failed to build gem native extension.
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby extconf.rb
mkmf.rb can't find header files for ruby at /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/ruby.h
Gem files will remain installed in /Library/Ruby/Gems/1.8/gems/sqlite3-1.3.4 for inspection.
Results logged to /Library/Ruby/Gems/1.8/gems/sqlite3-1.3.4/ext/sqlite3/gem_make.out
Что пошло не так? Как это исправить?
Ответы
Ответ 1
Мне пришлось установить средства командной строки в последней версии Xcode-версии (4.3.1) и
sudo gem install rails
работал как шарм.
Чтобы установить средства командной строки, перейдите в Настройки Xcode > Загрузки или используйте следующую команду в терминале (спасибо @Purell):
xcode-select --install
Ответ 2
Я использую Mavericks и Ruby 2.0.0, и я также получил эту ошибку (mkmf.rb не может найти файлы заголовков) при установке драгоценных камней. Я решил эту проблему, создав некоторые символические ссылки в терминале.
#First install developer tools again:
xcode-select --install
#Create symbolic link to Ruby include (updated for 10.9)
sudo ln -s /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/include/ruby-2.0.0 /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/include
#Create symbolic link to config.h (updated for 10.9)
sudo ln -s /System/Library/Frameworks/Ruby.framework/Versions/2.0/Headers/ruby/config.h /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/include/ruby-2.0.0/ruby/config.h
Ответ 3
Я столкнулся с такой же проблемой, пытаясь установить рельсы на моем льве. Вот как я мог ее решить.
Установить rvm
$ curl https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer | bash -s stable
Установите osx-gcc-installer
https://github.com/kennethreitz/osx-gcc-installer
Установлена новая версия ruby
rvm install 1.9.3
Введите следующую команду, чтобы показать требования
rvm requirements
Чтобы использовать RVM, установленный Ruby по умолчанию, вместо системы ruby:
rvm system ; rvm gemset export system.gems ; rvm 1.9.3 ; rvm gemset import system.gems # migrate your gems
rvm alias create default 1.9.3
Установленные рельсы:
sudo gem install rails
Мой Mac теперь читается для рельсов!! YAY!!
Ответ 4
Не прямое решение вашей проблемы, но я бы предложил использовать rvm, чтобы установить свежие рубины и драгоценные камни. Это должно позаботиться об этом.
Ответ 5
При установке Rails у меня была ошибка:
не удается найти файлы заголовков для ruby в/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/ruby.h
Как я уже установил Xcode, мне пришлось только установить средства командной строки для решения этой проблемы.
Ответ 6
У вас должен быть установлен XCode, он включает ruby.h, а также некоторые другие важные файлы, необходимые для компиляции других родных камней.
Ответ 7
Здравствуйте, извините, я не могу проверить этот ответ, но я бы предложил изменить пути поиска по умолчанию в bashrc и extconf.rb, поскольку файлы библиотеки, кажется, перемещены в Lion.
(P.S., если он хочет работать с версией 1.8 по умолчанию, rvm будет ненужным хлопотом)
Ответ 8
Обновите последнюю версию xcode, которая исправила проблему для меня. Убедитесь, что xcodebuild находится на вашем пути.
запуск xcodebuild -version в окне терминала должен выводить 4.2.1 (по крайней мере 4.x).
Ответ 9
После обновления ОС убедитесь, что вы принимаете лицензию X-Code, даже если раньше вы использовали средства командной строки. Только тогда будут доступны некоторые заголовочные файлы. Чтобы принять лицензию, вы должны один раз запустить X-Code.
Ответ 10
Я просто забыл запустить его с помощью команды sudo
.
sudo gem install sqlite3
не
gem install sqlite3