我在Mac上更新了XCode,从那时起,当使用Docker sync stack start启动Docker时,我收到以下错误消息:
mkmf.rb can't find header files for ruby at /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/include/ruby.h
我尝试使用以下命令安装ruby:
brew安装rbenv ruby build
,但这并没有改变任何事情。
有人知道我怎么修吗?
谢谢
升级XCode时,您需要安装命令行工具,并接受以下条款和条件:
sudo xcode-select --install
然后:
sudo xcodebuild -license
其他解决方案都不适用于我,以下是我运行来解决Mac OS 10.14. x上的问题:
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
对于macOS 10.14上的Xcode 11,即使在安装Xcode、安装命令行工具并接受许可证后,也可能发生这种情况
sudo xcode-select --install
sudo xcodebuild -license accept
问题是Xcode 11提供了macOS 10.15 SDK,其中包括ruby2的头文件。6,但不适用于macOS 10.14的ruby2。3.您可以通过运行
ruby -rrbconfig -e 'puts RbConfig::CONFIG["rubyhdrdir"]'
在macOS 10.14和Xcode 11上打印不存在的路径
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/include/ruby-2.3.0
但是,Xcode 11在/Library/Developer/ExpldLineTools/SDKs/MacOS10.14.sdk
中安装了macOS 10.14 SDK。没有必要像其他答案中建议的那样,通过安装旧的头文件来污染系统目录。相反,通过选择该SDK,可以找到合适的ruby2.3报头:
sudo xcode-select --switch /Library/Developer/CommandLineTools
ruby -rrbconfig -e 'puts RbConfig::CONFIG["rubyhdrdir"]'
现在应该可以正确打印
/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/include/ruby-2.3.0
同样地,gem安装
应该在选择SDK时工作。
要切换回使用当前的Xcode 11 SDK,请使用
sudo xcode-select --switch /Applications/Xcode.app
问题内容: 我在Mac上更新了XCode,从那时起使用Docker启动Docker时出现以下错误消息: 我试着用以下方法安装ruby:但这不会改变任何东西。 有人知道我该如何解决吗? 谢谢! 问题答案: 对于 macOS 10.14上的Xcode 11 ,即使在安装Xcode和安装命令行工具并通过以下方式接受许可后,也会发生这种情况: 问题是Xcode 11附带了macOS 10.15 SDK,其
问题内容: 对于上下文,它位于具有防火墙的远程服务器上。我正在通过代理设置我的环境。我有。当我尝试gem install .. 我收到以下错误: 有什么提示吗?谢谢! 问题答案: 如mimoralea所述,现代更新: 如果您使用的是ruby 2.0或2.2(感谢@ patrick-davey)。 或者,通用方式: 要么 您发布的第一个链接 正是 您的情况:没有安装ruby开发环境。需要开发环境来编
我得到以下错误: 因为我不确定是什么问题,我搜索了一下,发现了这些 > gem安装:未能构建gem本机扩展(找不到头文件)-这里的说明似乎是针对正在安装的gem的。
我从Oracle下载了一个JDK,并尝试将其放入Unity的JDK路径。我看到一些帖子说你必须在JavaVirtualMachine中选择一个路径。但我在JavaVirtualMachine中找不到任何东西。我在终端中输入命令/usr/libexec/java_home,它显示给我的是-/library/java/javavirtualmachines/jdk-14.0.1.jdk/content
导出路径=${PATH}:${ANT_HOME}/bin 导出java_home=$(/usr/libexec/java_home) 我这样做正确吗?
我正在开发一个使用boost的项目,但由于一个神秘的原因,preproc没有找到boost头文件。 main.cpp和makefile在中 boost库在中 boost库(.a和.so)位于中