web-dev-qa-db-fra.com

gem install - erreur fatale: fichier 'Ruby/config.h' introuvable dans Mojave

l’installation de Gem a échoué sous MacOs Mojave. Tout ce qui peut m'aider à résoudre ce problème? Ma version Ruby est 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
8
SpaceX

Si vous utilisez la version bêta de Xcode 10, cela pourrait résoudre le problème.

Sudo xcode-select -s /Applications/Xcode-beta.app/Contents/Developer
2
valexa

J'ai eu ce problème en essayant d'installer fastlane avec homebrew. Aucune des suggestions mentionnées précédemment ne m'a aidé. L'installation manuelle du macOS_SDK_headers_for_macOS_10.14.pkg l'a corrigé.

Sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
2
karolszafranski

J'avais ce même problème où je ne pouvais pas installer d'extensions natives en raison d'un échec lors de l'inclusion de "Ruby/config.h".

Je pense que la cause de ce problème est due au fait que j'utilisais la version Ruby installée avec Homebrew. Après la mise à niveau vers une nouvelle version de Ruby avec Homebrew, j'ai vu le message utile suivant de 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"

L'ajout des lignes suivantes à mon ~/.bash_profile a résolu le problème pour moi:

export LDFLAGS="-L/usr/local/opt/Ruby/lib"
export CPPFLAGS="-I/usr/local/opt/Ruby/include"
0
gatkin