Rubygems не устанавливается на OS X Lion - PullRequest
44 голосов
/ 17 сентября 2011

Раньше у меня вообще не было проблем с рубином, драгоценными камнями и всем прочим. Но после установки 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

Что пошло не так? Как это исправить?

Ответы [ 10 ]

75 голосов
/ 17 марта 2012

Мне пришлось установить инструменты командной строки в последней версии Xcode (4.3.1) и

sudo gem install rails

работал как шарм.

Чтобы установить инструменты командной строки, перейдите в «Настройки XCode»> «Загрузки» или используйте следующую команду в терминале (thx @ Purell ):

xcode-select --install
16 голосов
/ 02 октября 2013

Я использую 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
12 голосов
/ 08 апреля 2012

Я столкнулся с той же проблемой, пытаясь установить рельсы на моем Lion.Вот как я мог это решить.

Установить 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 голосов
/ 19 сентября 2012

При установке Rails у меня была ошибка:

не удается найти заголовочные файлы для ruby ​​в /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/ruby.h

Поскольку у меня уже был установлен Xcode, мне просто нужно было установить инструменты командной строки, чтобы решить эту проблему

4 голосов
/ 17 сентября 2011

Не является прямым решением вашей проблемы, но я бы предложил использовать rvm для установки свежих рубинов и драгоценных камней.Это должно позаботиться об этом.

1 голос
/ 22 октября 2011

Вам необходимо установить XCode, в него входит ruby.h, а также некоторые другие важные файлы, необходимые для компиляции других встроенных гемов.

0 голосов
/ 25 февраля 2017

Я просто забыл запустить его с помощью команды sudo.

sudo gem install sqlite3

не

gem install sqlite3

0 голосов
/ 06 июля 2014

После обновления ОС убедитесь, что вы принимаете лицензию X-Code, даже если вы ранее использовали инструменты командной строки.Только тогда будут доступны некоторые заголовочные файлы.Чтобы принять лицензию, вы должны запустить X-Code один раз.

0 голосов
/ 13 января 2012

Обновление до последней версии xcode, которое исправило проблему для меня. Убедитесь, что xcodebuild находится на вашем пути.

запуск xcodebuild -version в окне терминала должен вывести 4.2.1 (как минимум 4.x).

0 голосов
/ 17 сентября 2011

Здравствуйте, извините, я не могу проверить этот ответ, но я бы предложил изменить пути поиска по умолчанию в ваших bashrc и extconf.rb, так как файлы библиотеки, похоже, перемещены в Lion.

(PS, если он хочет работать с версией 1.8 по умолчанию, rvm будет ненужным хлопотом)

...