自升级到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头文件集?
解决此问题的最佳方法是什么?我可以在那里解压缩源代码以获得正确的标题吗?
答案 0 :(得分:18)
关于此问题的一个注意事项:升级到“OS X El Capitan”后我遇到了这个问题。我通过运行'xcode-select --install'安装了命令行工具。在那之后,我的ruby构建环境再次开始工作。
答案 1 :(得分:16)
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
更新Nicholas Tsipanov在2014-10-18的答案。
答案 2 :(得分:15)
对于那些已经从Apple developers site安装了Xcode的用户,运行xcode-select --install
不起作用,因为它会说已经安装了Xcode(Xcode已经捆绑了CommandLineTools
)。
以我为例,我通过从相同的位置下载相应的CommandLineTools
来执行它的修复,然后再执行/Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg
并执行它。
答案 3 :(得分:12)
我遇到了同样的错误,但安装了" Command Line Tools (OS X 10.10) for Xcode - Xcode 6.1"之后安装工作正常。
答案 4 :(得分:6)
如果你使用Homebrew,brew install ruby
是一个快速的解决方法(它会为你提供一个与Xcode不同的全新ruby安装。)
答案 5 :(得分:4)
试试这个:
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
答案 6 :(得分:1)
Xcode在某种程度上搞砸了。
我打开了Xcode(我从来没有这样做过),它抱怨各种各样的缺失组件。所以我让它继续前进并自我修复,现在一切都很好。
在OP的评论中向CDub道具,指出这可能是一种奇怪的潜在来源。
答案 7 :(得分:1)
我正在运行Mojave 10.14.6。这里的答案为我解决了主题问题:https://stackoverflow.com/a/58084238/284651
解决方案:
sudo rm -rf /Library/Developer/CommandLineTools
xcode-select --install
sudo xcodebuild -license accept
open /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg
答案 8 :(得分:0)
通过指向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:
跑
sudo xcode-select -s /Applications/Xcode.app/Contents/Developer