Установка Compass в Mac OS X 10.12 Sierra

Я работаю на двух разных машинах; тот, на котором был установлен Compass, когда на компьютере работала OS X Yosemite (доволен этим); и тот, на котором я пытаюсь установить Compass, который в настоящее время работает под управлением OS X Sierra (не очень доволен этим).

В тот день у меня были проблемы с gem install compass при запуске Yosemite, и после поиска в стеке выяснилось, что проблема заключалась в том, что пользователь больше не мог писать в указанный каталог, который они пытались выполнить при выполнении этой команды. Некоторые предлагали использовать sudo gem install compass (именно так я получил свою первую машину с Compass).

На этой второй машине я запустил sudo gem install compass и получил следующую ошибку:

Building native extensions.  This could take a while...
ERROR:  Error installing compass:
    ERROR: Failed to build gem native extension.

    /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby extconf.rb
mkmf.rb can't find header files for ruby at /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/include/ruby.h


Gem files will remain installed in /Library/Ruby/Gems/2.0.0/gems/ffi-1.9.14 for inspection.
Results logged to /Library/Ruby/Gems/2.0.0/gems/ffi-1.9.14/ext/ffi_c/gem_make.out

Я не очень хорошо знаком с CLI. Почему мне не удается установить Compass на Mac OS X Sierra 10.12?


person DanMad    schedule 05.10.2016    source источник
comment
У меня такая же проблема, вы решили?   -  person JohnRobertPett    schedule 07.10.2016
comment
Пока нет. Я ждал ответа.   -  person DanMad    schedule 08.10.2016


Ответы (2)


Похоже, вам не хватает заголовков разработки. У меня была аналогичная проблема с другим гемом (ffi), и я решил ее, установив XCode (v. 8.0). После загрузки обязательно откройте Xcode, некоторые компоненты устанавливаются только после первого открытия. После этого попробуйте еще раз запустить gem install.

person Sandro Gattuso    schedule 08.10.2016
comment
Звучит интересно. Я попробую. Могу я спросить, что такое заголовки разработки? - person DanMad; 09.10.2016
comment
Короче говоря, это пакеты / библиотеки, необходимые для компиляции нового драгоценного камня, который вы пытаетесь установить. Обычно это делается для облегчения распространения приложения. В этом посте есть хорошее объяснение пакетов * -devel, ссылка. Это относится к C, а не к Ruby (между двумя языками есть различия), но если вы абстрагируетесь от технической реализации, концепция аналогична - person Sandro Gattuso; 09.10.2016
comment
Спасибо, @Sandro Gattuso. Я установил XCode 8.0 и создал фиктивный проект, а затем запустил gem install compass безуспешно. Но запуск sudo gem install compass решил мою проблему, и я смог успешно установить Compass. - person DanMad; 11.10.2016
comment
Привет, @Sandro, мог бы я просто загрузить инструменты командной строки X-Code, чтобы решить эту проблему? Я понял, что это означает загрузку версии X-Code объемом 4,5 ГБ в App Store. Это случилось нормально работать. Но вы имели в виду только инструменты CLI? - person DanMad; 19.10.2016
comment
@DanMad, в моем случае я все равно смог установить Xcode, потому что он мне нужен для целей разработки. Я предположил, что это сработало для меня, и я подумал, что это было бы самое простое решение, однако могло случиться так, что инструменты CLI решали бы то же самое (вероятно, базовые библиотеки такие же) - person Sandro Gattuso; 22.10.2016

Я установил Homebrew как часть одного решения, которое я пробовал, которое устанавливает инструменты командной строки Xcode. (Я намеревался использовать Homebrew для установки Ruby и Compass в другой каталог, потому что изначально я получал ошибки разрешений при использовании $ sudo gem install compass.) После того, как я установил Homebrew, я смог успешно использовать $ gem install compass.

person Jared Brandon    schedule 28.06.2017