gpt4 book ai didi

ruby - Docker for Mac - mkmf.rb 找不到 ruby​​ 的头文件

转载 作者:数据小太阳 更新时间:2023-10-29 06:33:39 26 4
gpt4 key购买 nike

我在我的 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 install rbenv ruby​​-build 但这并没有改变任何东西。

有人知道我该如何解决吗?

谢谢!

最佳答案

对于 ma​​cOS 10.14 上的 Xcode 11,即使在安装 Xcode 和安装命令行工具并接受许可证后也可能发生这种情况

sudo xcode-select --install
sudo xcodebuild -license accept

问题是 Xcode 11 附带了 macOS 10.15 SDK,其中包含 ruby​​2.6 的 header ,但不包含 macOS 10.14 的 ruby​​2.3 的 header 。您可以通过运行来验证这是您的问题

ruby -rrbconfig -e 'puts RbConfig::CONFIG["rubyhdrdir"]'

在带有 Xcode 11 的 macOS 10.14 上打印不存在路径

/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/CommandLineTools/SDKs/MacOS10.14.sdk 中安装了 macOS 10.14 SDK。没有必要按照其他答案中的建议通过安装旧的头文件来污染系统目录。相反,通过选择该 SDK,将找到适当的 ruby​​2.3 header :

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 install 应该在选择该 SDK 时工作。

要切换回使用当前的 Xcode 11 SDK,请使用

sudo xcode-select --switch /Applications/Xcode.app

关于ruby - Docker for Mac - mkmf.rb 找不到 ruby​​ 的头文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46377667/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com