Ответ 1
Одно замечание: я столкнулся с этой проблемой после перехода на "OS X El Capitan". Я установил инструменты командной строки, запустив "xcode-select -install". После этого моя рубиновая среда сборки снова начала работать.
С момента обновления до Yosemite я получаю эту ошибку, пытаясь построить что-нибудь, что включает ruby.h
:
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/include/ruby-2.0.0/ruby.h:33:
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/include/ruby-2.0.0/ruby/ruby.h:24:10: fatal error: 'ruby/config.h' file not found
#include "ruby/config.h"
^
1 error generated.
make[1]: *** [objects/if_ruby.o] Error 1
make[1]: *** Waiting for unfinished jobs....
make: *** [first] Error 2
И, конечно, /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/include/ruby-2.0.0/ruby/config.h
действительно отсутствует.
$ ls -laF /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/include/ruby-2.0.0/ruby/
total 72
drwxr-xr-x 21 root wheel 714 Jul 29 21:56 ./
drwxr-xr-x 5 root wheel 170 Jul 29 21:56 ../
drwxr-xr-x 7 root wheel 238 Jul 29 21:56 backward/
-rw-r--r-- 2 root wheel 3360 Sep 21 15:25 debug.h
-rw-r--r-- 2 root wheel 5553 Sep 21 15:25 defines.h
-rw-r--r-- 2 root wheel 881 Sep 21 15:25 digest.h
-rw-r--r-- 2 root wheel 7628 Sep 21 15:25 dl.h
-rw-r--r-- 2 root wheel 14123 Sep 21 15:25 encoding.h
-rw-r--r-- 2 root wheel 32904 Sep 21 15:25 intern.h
-rw-r--r-- 2 root wheel 5869 Sep 21 15:25 io.h
-rw-r--r-- 2 root wheel 4522 Sep 21 15:25 missing.h
-rw-r--r-- 2 root wheel 37617 Sep 21 15:25 oniguruma.h
-rw-r--r-- 2 root wheel 1502 Sep 21 15:25 re.h
-rw-r--r-- 2 root wheel 890 Sep 21 15:25 regex.h
-rw-r--r-- 2 root wheel 49734 Sep 21 15:25 ruby.h
-rw-r--r-- 2 root wheel 4651 Sep 21 15:25 st.h
-rw-r--r-- 2 root wheel 374 Sep 21 15:25 subst.h
-rw-r--r-- 2 root wheel 1102 Sep 21 15:25 thread.h
-rw-r--r-- 2 root wheel 2139 Sep 21 15:25 util.h
-rw-r--r-- 2 root wheel 1968 Sep 21 15:25 version.h
-rw-r--r-- 2 root wheel 1794 Sep 21 15:25 vm.h
Не удалось ли установить файл? Является ли Yosemite только отправкой с разбитым файлом заголовков Ruby?
Какой лучший способ исправить это? Могу ли я просто распаковать исходный код там, чтобы получить правильные заголовки?
Одно замечание: я столкнулся с этой проблемой после перехода на "OS X El Capitan". Я установил инструменты командной строки, запустив "xcode-select -install". После этого моя рубиновая среда сборки снова начала работать.
cd /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/include/ruby-2.0.0/ruby
sudo ln -s ../universal-darwin15/ruby/config.h ./config.h
обновляет ответ Николая Ципанова с 2014-10-18 годов.
Для тех, у кого уже установлен Xcode с сайта разработчиков Apple, запуск xcode-select --install
не работает, поскольку он скажет, что Xcode уже установлен (Xcode уже поставляется с приложенным CommandLineTools
).
В моем случае я исправил это, загрузив соответствующий CommandLineTools
из того же места, выполнив его, затем перейдя в /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg
и выполнив его тоже.
Я получил ту же ошибку, но установил "Инструменты командной строки (OS X 10.10) для Xcode - Xcode 6.1", и после этого установка работала нормально.
Если вы используете Homebrew, brew install ruby
- это быстрый способ обхода (он дает вам совершенно новую рубиновую установку, отличную от той, что есть в Xcode).
Попробуйте следующее:
cd /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/include/ruby-2.0.0/ruby
sudo ln -s ../universal-darwin13/ruby/config.h ./config.h
Xcode каким-то образом перепутался.
Я открыл Xcode (который я никогда не делал иначе), и он жаловался на всевозможные недостающие компоненты. Поэтому я позволил ему двигаться дальше и исправить себя, и теперь все хорошо.
Подходит для CDub в комментариях к OP для указания на это как на потенциальный источник странности.
Исправлено, указывая на правильный путь для инструментов разработчика Xcode.
Ошибка перед (обратите внимание на путь к Xcode711.app вместо Xcode.app)
/Applications/Xcode711.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/include/ruby-2.0.0/ruby/ruby.h:24:10:
Ran
sudo xcode-select -s /Applications/Xcode.app/Contents/Developer