your rails own make how for create ruby-on-rails ruby ruby-c-extension

ruby-on-rails - rails - make my own gem



error: no se pudo construir la extensión nativa de la gema al instalar los rieles en mac mountian lion os (4)

Recientemente, me actualicé a Mountain Lion y reinstalé Ruby, pero cuando intento ejecutar una aplicación Rails de prueba, aparece un mensaje de error que dice que "Rails no está instalado actualmente" en mi sistema. Hago lo que dice, escriba sudo gem install rails y obtenga:

cleared faster_require caches due to new gem install... Successfully installed rails-3.2.7 1 gem installed Installing ri documentation for rails-3.2.7... Installing RDoc documentation for rails-3.2.7...

Pero cuando compruebo para ver qué versión de los raíles se instala, esto es lo que obtengo:

Rails is not currently installed on this system. To get the latest version, simply type: $ sudo gem install rails You can then rerun your "rails" command.

También probé gem install rails y obtuve:

Building native extensions. This could take a while... ERROR: Error installing rails: ERROR: Failed to build gem native extension. /Users/aileen/.rvm/rubies/ruby-1.9.3-p194/bin/ruby extconf.rb creating Makefile make compiling generator.c make: /usr/bin/gcc-4.2: No such file or directory make: *** [generator.o] Error 1 Gem files will remain installed in /Users/aileen/.rvm/gems/ruby-1.9.3-p194@rails327/gems/json-1.7.4 for inspection. Results logged to /Users/aileen/.rvm/gems/ruby-1.9.3-p194@rails327/gems/json-1.7.4/ext/json/ext/generator/gem_make.out


@Franco es correcto: las secuencias de comandos de compilación "extensión nativa" esperan /usr/bin/gcc-4.2 , que no existe en OS X Mountain Lion.

  • Si se actualizó a Mountain Lion desde una versión anterior de OS X, es posible que ya tenga gcc. En ese caso, solo crea un enlace simbólico a gcc: sudo ln -s /usr/bin/gcc /usr/bin/gcc-4.2
  • Si tiene una nueva instalación de Mountain Lion , entonces no puede tener gcc en absoluto. En ese caso, necesitaría instalar gcc como lo explica @Franco.

Esto no es específicamente un problema de gemas "rieles". Cualquier gema que construye "extensiones nativas" falla:

Gem :: Installer :: ExtensionBuildError: ERROR: no se pudo construir la extensión nativa gema. [...] Primero debe instalar herramientas de desarrollo.

En mi caso, estaba tratando de instalar octopress , que depende de algo llamado RedCloth.


Intenta trabajar en this primero

Él supone que ya tienes homebrew. Si no lo haces, puedes obtenerlo desde here


Me encontré con este problema también, con Mountain Lion. La gema que estaba fallando en la instalación fue json . Para solucionarlo, instalé las herramientas de la CLI xcode y luego simplemente vinculé el gcc instalado (i686-apple-darwin11-llvm-gcc-4.2) como /usr/bin/gcc-4.2 . Una vez hecho esto, simplemente funcionó.

Mientras trataba de instalar otra gema, me encontré con un problema similar en el que el paso de compilación nativo se quejaba de la falta de g ++ - 4.2. Me symlinked esto exactamente lo mismo que hice con gcc-4.2 anterior, y funcionó.

ACTUALIZACIÓN: OSX Mavericks con la última RVM

Con el último OSX 10.9 y el último RVM, parece que estos problemas desaparecieron. Entonces, es hora de actualizar.


Veo que estás usando ruby 1.9.3 usando rvm en OS X 10.8.2 (León de montaña) Es posible que algunas gemas referenciadas por rieles necesiten gcc-4.2 en / usr / bin para construir estension nativa.

En Mountain Lion, incluso después de instalar las herramientas de CLI de Xcode 4.5 (al abrir el menú XCode - Preferencias ... Descargar -> Herramientas de línea de comandos) obtiene / usr / bin / gcc pero no /usr/bin/gcc-4.2 ; desafortunadamente, el proceso de compilación de algunas extensiones nativas se basa en /usr/bin/gcc-4.2

Sin embargo, acabo de instalar los rieles sin problemas en un entorno como tu. Anteriormente arreglé el entorno tal como se analiza en la publicación de blog de Carina C. Zona: Solución para "make: /usr/bin/gcc-4.2: No existe dicho archivo o directorio" , es decir:

  • asegúrese de haber instalado Homebrew

    brew --version

    debe informar 0.9.3 o mayor

    actualización de cerveza

  • ahora puedes instalar gcc-4.2 y crear un enlace de simbolo donde este aspectado por el sistema de construcción

    brew toque homebrew / dupes

    brew install apple-gcc42

    sudo ln -s /usr/local/bin/gcc-4.2 /usr/bin/gcc-4.2

  • ahora estás listo para instalar con éxito los rieles

    gema instalar rieles

Deberías obtener un resultado como este

Fetching: i18n-0.6.1.gem (100%) Fetching: activesupport-3.2.8.gem (100%) Fetching: builder-3.0.4.gem (100%) Fetching: activemodel-3.2.8.gem (100%) Fetching: rack-cache-1.2.gem (100%) Fetching: rack-test-0.6.2.gem (100%) Fetching: journey-1.0.4.gem (100%) Fetching: hike-1.2.1.gem (100%) Fetching: sprockets-2.1.3.gem (100%) Fetching: erubis-2.7.0.gem (100%) Fetching: actionpack-3.2.8.gem (100%) Fetching: arel-3.0.2.gem (100%) Fetching: tzinfo-0.3.34.gem (100%) Fetching: activerecord-3.2.8.gem (100%) Fetching: activeresource-3.2.8.gem (100%) Fetching: polyglot-0.3.3.gem (100%) Fetching: treetop-1.4.12.gem (100%) Fetching: mail-2.4.4.gem (100%) Fetching: actionmailer-3.2.8.gem (100%) Fetching: rack-ssl-1.3.2.gem (100%) Fetching: railties-3.2.8.gem (100%) Fetching: rails-3.2.8.gem (100%) Successfully installed i18n-0.6.1 Successfully installed activesupport-3.2.8 Successfully installed builder-3.0.4 Successfully installed activemodel-3.2.8 Successfully installed rack-cache-1.2 Successfully installed rack-test-0.6.2 Successfully installed journey-1.0.4 Successfully installed hike-1.2.1 Successfully installed sprockets-2.1.3 Successfully installed erubis-2.7.0 Successfully installed actionpack-3.2.8 Successfully installed arel-3.0.2 Successfully installed tzinfo-0.3.34 Successfully installed activerecord-3.2.8 Successfully installed activeresource-3.2.8 Successfully installed polyglot-0.3.3 Successfully installed treetop-1.4.12 Successfully installed mail-2.4.4 Successfully installed actionmailer-3.2.8 Successfully installed rack-ssl-1.3.2 Successfully installed railties-3.2.8 Successfully installed rails-3.2.8 22 gems installed Installing ri documentation for i18n-0.6.1... Building YARD (yri) index for i18n-0.6.1... Installing ri documentation for activesupport-3.2.8... Building YARD (yri) index for activesupport-3.2.8... Installing ri documentation for builder-3.0.4... Building YARD (yri) index for builder-3.0.4... Installing ri documentation for activemodel-3.2.8... Building YARD (yri) index for activemodel-3.2.8... Installing ri documentation for rack-cache-1.2... Building YARD (yri) index for rack-cache-1.2... Installing ri documentation for rack-test-0.6.2... Building YARD (yri) index for rack-test-0.6.2... Installing ri documentation for journey-1.0.4... Building YARD (yri) index for journey-1.0.4... Installing ri documentation for hike-1.2.1... Building YARD (yri) index for hike-1.2.1... Installing ri documentation for sprockets-2.1.3... Building YARD (yri) index for sprockets-2.1.3... Installing ri documentation for erubis-2.7.0... Building YARD (yri) index for erubis-2.7.0... Installing ri documentation for actionpack-3.2.8... Building YARD (yri) index for actionpack-3.2.8... Installing ri documentation for arel-3.0.2... Building YARD (yri) index for arel-3.0.2... Installing ri documentation for tzinfo-0.3.34... Building YARD (yri) index for tzinfo-0.3.34... Installing ri documentation for activerecord-3.2.8... Building YARD (yri) index for activerecord-3.2.8... Installing ri documentation for activeresource-3.2.8... Building YARD (yri) index for activeresource-3.2.8... Installing ri documentation for polyglot-0.3.3... Building YARD (yri) index for polyglot-0.3.3... Installing ri documentation for treetop-1.4.12... Building YARD (yri) index for treetop-1.4.12... Installing ri documentation for mail-2.4.4... Building YARD (yri) index for mail-2.4.4... Installing ri documentation for actionmailer-3.2.8... Building YARD (yri) index for actionmailer-3.2.8... Installing ri documentation for rack-ssl-1.3.2... Building YARD (yri) index for rack-ssl-1.3.2... Installing ri documentation for railties-3.2.8... Building YARD (yri) index for railties-3.2.8... Installing ri documentation for rails-3.2.8... Building YARD (yri) index for rails-3.2.8... Installing RDoc documentation for i18n-0.6.1... Installing RDoc documentation for activesupport-3.2.8... Installing RDoc documentation for builder-3.0.4... Installing RDoc documentation for activemodel-3.2.8... Installing RDoc documentation for rack-cache-1.2... Installing RDoc documentation for rack-test-0.6.2... Installing RDoc documentation for journey-1.0.4... Installing RDoc documentation for hike-1.2.1... Installing RDoc documentation for sprockets-2.1.3... Installing RDoc documentation for erubis-2.7.0... Installing RDoc documentation for actionpack-3.2.8... Installing RDoc documentation for arel-3.0.2... Installing RDoc documentation for tzinfo-0.3.34... Installing RDoc documentation for activerecord-3.2.8... Installing RDoc documentation for activeresource-3.2.8... Installing RDoc documentation for polyglot-0.3.3... Installing RDoc documentation for treetop-1.4.12... Installing RDoc documentation for mail-2.4.4... Installing RDoc documentation for actionmailer-3.2.8... Installing RDoc documentation for rack-ssl-1.3.2... Installing RDoc documentation for railties-3.2.8... Installing RDoc documentation for rails-3.2.8...