gem install - 致命错误:在Mojave中找不到'ruby / config.h'文件

问题描述 投票:8回答:3

gem安装在MacOs Mojave中失败。有什么能帮我解决这个问题吗?我的红宝石版本是ruby 2.3.7p456

➜ sudo gem install json -v '1.8.3'



current directory: /Library/Ruby/Gems/2.3.0/gems/json-1.8.3/ext/json/ext/generator
make "DESTDIR="
compiling generator.c
In file included from generator.c:1:
In file included from ./../fbuffer/fbuffer.h:5:
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/include/ruby-2.3.0/ruby.h:33:
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/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"
         ^~~~~~~~~~~~~~~
1 error generated.
make: *** [generator.o] Error 1

make failed, exit code 2
ruby macos macos-mojave
3个回答
2
投票

如果您运行Xcode 10 beta,可能会解决它

sudo xcode-select -s /Applications/Xcode-beta.app/Contents/Developer

5
投票

我试图用自制软件安装fastlane时遇到了这个问题。前面提到的建议都没有帮助我。手动安装macOS_SDK_headers_for_macOS_10.14.pkg固定它。

sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /

0
投票

我遇到了同样的问题,由于包含“ruby / config.h”时出现故障,我无法安装原生扩展。

我相信这个问题的原因是因为我使用的是与Homebrew一起安装的ruby版本。在使用Homebrew升级到Ruby的新版本后,我从Homebrew中看到以下有用的消息:

ruby is keg-only, which means it was not symlinked into /usr/local,
because macOS already provides this software and installing another version in
parallel can cause all kinds of trouble.

If you need to have ruby first in your PATH run:
 echo 'export PATH="/usr/local/opt/ruby/bin:$PATH"' >> ~/.bash_profile

For compilers to find ruby you may need to set:
 export LDFLAGS="-L/usr/local/opt/ruby/lib"
 export CPPFLAGS="-I/usr/local/opt/ruby/include"

For pkg-config to find ruby you may need to set:
 export PKG_CONFIG_PATH="/usr/local/opt/ruby/lib/pkgconfig"

在我的〜/ .bash_profile中添加以下行为我解决了这个问题:

export LDFLAGS="-L/usr/local/opt/ruby/lib"
export CPPFLAGS="-I/usr/local/opt/ruby/include"
© www.soinside.com 2019 - 2024. All rights reserved.