Estoy usando macOS Mojave y cuando intento instalar cocoapods usando gem obtengo el siguiente error.
Construyendo extensiones nativas. Esto podría tomar un tiempo ... ERROR: Error al instalar cocoapods: ERROR: Error al construir la extensión nativa de gemas.
current directory: /Library/Ruby/Gems/2.3.0/gems/ffi-1.12.2/ext/ffi_c
/System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/bin/ruby -r ./siteconf20200302-707-1iveybq.rb extconf.rb mkmf.rb no puede encontrar archivos de encabezado para ruby en / System / Library /Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/include/ruby.h
extconf falló, código de salida 1
Los archivos de gemas permanecerán instalados en /Library/Ruby/Gems/2.3.0/gems/ffi-1.12.2 para su inspección. Resultados registrados en /Library/Ruby/Gems/2.3.0/extensions/universal-darwin-18/2.3.0/ffi-1.12.2/gem_make.out
Este error aparece cuando ejecuto los siguientes comandos.
sudo gem install cocoapods
sudo gem install -n /usr/local/bin cocoapods
Ya instalé las herramientas de línea de comandos de xcode y recibo el siguiente mensaje cuando ejecuto xcode-select --install
xcode-select: error: las herramientas de línea de comandos ya están instaladas, use "Actualización de software" para instalar las actualizaciones
También acepté los acuerdos de licencia de xcode con el comando sudo xcodebuild -license
El inicio de sesión de error /Library/Ruby/Gems/2.3.0/extensions/universal-darwin-18/2.3.0/ffi-1.12.2/gem_make.out
da lo siguiente
directorio actual: /Library/Ruby/Gems/2.3.0/gems/ffi-1.12.2/ext/ffi_c /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/bin/ruby -r ./siteco $ mkmf.rb no puede encontrar archivos de encabezado para ruby en /System/Library/Frameworks/Ruby.fra$
extconf falló, código de salida 1
¿Qué hago para solucionar este problema?
ruby --version
desde la línea de comandoRespuestas:
La respuesta a esto se puede encontrar aquí , aunque no está relacionada con esta pregunta. A continuación se muestra un fragmento de la respuesta que funciona mejor.
Para Xcode 11 en macOS 10.14 , esto puede suceder incluso después de instalar Xcode e instalar herramientas de línea de comandos y aceptar la licencia con
El problema es que Xcode 11 incluye el SDK de macOS 10.15 que incluye encabezados para ruby2.6, pero no para ruby2.3 de macOS 10.14. Puede verificar que este sea su problema ejecutando
que en macOS 10.14 con Xcode 11 imprime la ruta inexistente
Sin embargo, Xcode 11 instala un SDK de macOS 10.14 dentro
/Library/Developer/CommandLineTools/SDKs/MacOS10.14.sdk
. No es necesario contaminar los directorios del sistema instalando los archivos de encabezado antiguos como se sugiere en otras respuestas. En cambio, al seleccionar ese SDK, se encontrarán los encabezados ruby2.3 apropiados:Esto ahora debería imprimirse correctamente
Del mismo modo,
gem install
debería funcionar mientras ese SDK está seleccionado.Para volver a usar el SDK actual de Xcode 11, use
fuente
sudo xcode-select --switch / Library / Developer / CommandLineTools
ruby -rrbconfig -e 'pone RbConfig :: CONFIG ["rubyhdrdir"]'
fuente
ruby -rrbconfig -e 'puts RbConfig::CONFIG["rubyhdrdir"]'
para descubrir su configuración de ruby./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
debe corregir la configuración haciendo el siguiente paso.sudo xcode-select --switch /Library/Developer/CommandLineTools
ruby -rrbconfig -e 'puts RbConfig::CONFIG["rubyhdrdir"]'
nuevamente para ver si la ruta ha cambiado./Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/include/ruby-2.3.0
¡Entonces puedes ejecutar
gem install
para instalar cocoapods!fuente