gpt4 book ai didi

ruby - 找不到 macOS Mojave 'ruby/config.h' 文件

转载 作者:数据小太阳 更新时间:2023-10-29 07:08:38 25 4
gpt4 key购买 nike

当我尝试在 macOS Mojave(10.14.1) 上构建带有 ruby​​ 支持(--enable-rubyinterp) 的 vim(8.1.0509) 时,出现错误:

In file included from /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/include/ruby-2.3.0/ruby.h:33:
/System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/include/ruby-2.3.0/ruby/ruby.h:24:10: fatal error:
'ruby/config.h' file not found
#include "ruby/config.h"

我已经安装了 Xcode 10.1。

xcode-select -p
/Applications/Xcode.app/Contents/Developer

最佳答案

注意:此解决方法有效,但您不能只是盲目地复制/粘贴路径。相反,请查看安装给您的错误。它会说类似的话

To see why this extension failed to compile, please check the mkmf.log which can be found here:/Library/Ruby/Gems/2.6.0/extensions/universal-darwin-21/2.6.0/ffi-1.15.5/mkmf.log

所以打开它提到的日志,看看它找不到什么。它会告诉您 MacOSX__._.sdkuniversal-darwin-__ 您需要链接的正确版本

Catalina、Big Sur 等(截至 2020 年、2021 年和 2022 年)

更新:此变通方法自 2022 年起仍然有效。对于以下命令,请根据您的 macOS 版本环境更改版本字符串(例如 11.1、ruby 2.6、universal-darwin20 等)。


最新版本的 macOS 和 Xcode(例如 Catalina 10.15 和 Xcode 12.2)已损坏此功能。重新安装 Xcode 和 xcode-select --install 对我一点帮助都没有(已经发布的解决方案似乎已经过时了)。我不想使用 rvm,因为它可能会导致一些烦人的问题。

我通过手动创建符号链接(symbolic link)做了一个解决方法:

cd /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.1.sdk/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/include/ruby-2.6.0/ruby
ln -sf ../../../../Headers/ruby/config.h

ruby/config.h 位于:/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.1.sdk/System/Library/Frameworks/Ruby.framework/Versions/2.6/Headers/ruby/config。 h.

您应该根据当前的 xcode 安装更改 SDK 版本(例如上例中的 11.1)。

也很可能遇到另一个错误,其中找不到 .../universal-darwin19/ruby/config.h ( Commonmarker gem cannot be installed (needed for jekyll) macos )。它可以按如下方式快速修复:

cd /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.1.sdk/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/include/ruby-2.6.0
ln -sf universal-darwin20 universal-darwin19

如果在使用此解决方法后,您在 pod install 上遇到崩溃,例如:

/Library/Ruby/Gems/2.6.0/gems/ffi-1.15.5/lib/ffi/library.rb:275: [BUG] Bus Error at 0x0000000100f38000

关注this solution

关于ruby - 找不到 macOS Mojave 'ruby/config.h' 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53135863/

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