macOs Mojaveでgemのインストールが失敗します。これを解決するのに役立つものはありますか?私のRubyバージョンは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
Xcode 10ベータ版を実行している場合、これで修正される可能性があります
Sudo xcode-select -s /Applications/Xcode-beta.app/Contents/Developer
自作で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 /
「Ruby/config.h」をインクルードする際のエラーが原因でネイティブ拡張をインストールできないという同じ問題がありました。
この問題の原因は、私がRuby Homebrewと共にインストールされたバージョンを使用していたためだと考えています。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"