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