ruby on rails - gratis - ¿Por qué no puedo instalar Rails en Lion usando RVM?
ruby version (14)
Me estoy encontrando con problemas al intentar instalar Rails en OS X Lion usando RVM.
Hasta ahora, he hecho lo siguiente:
- Instalado Mac OS X Lion Versión 10.7 (Build 11A459e).
- Instalado XCode 4.1 Developer Preview 5.
- RVM instalado.
- Se instaló una versión 1.8.7 de Ruby a través de RVM utilizando el comando
rvm install 1.8.7
. Nota: Necesito usar 1.8.7 y no 1.9.2. - Cambiado a la versión 1.8.7 de Ruby usando el comando
rvm 1.8.7
. - Creó un nuevo gemset usando el comando
rvm gemset create rails3
. - Cambiado al nuevo gemset usando el comando
rvm use 1.8.7@rails3
. Para instalar Rails, ejecuté el comando
gem install rails
pero obtuve el siguiente error:/Users/m/.rvm/rubies/ruby-1.8.7-p334/lib/ruby/1.8/timeout.rb:60: [BUG] Error de segmentación
El mismo error ocurre cuando intento ejecutar cualquier comando de gema, así que no creo que sea realmente un problema con Rails.
A juzgar por los enlaces a continuación, no parezco ser la única persona que tiene este problema:
http://twitter.com/#!/pingles/status/66261101351927809 y https://github.com/carlhuda/bundler/issues/1058
¡Arreglado!
La respuesta fue en realidad en uno de los enlaces que publiqué arriba. Antes de instalar una versión de ruby (rvm install 1.8.7) necesitaba ejecutar " export CC=/usr/bin/gcc-4.2
". Con eso en su lugar, todo transcurrió sin problemas.
Si no desea que CC
exporte permanentemente, puede hacerlo CC=/usr/bin/gcc-4.2 rvm install 1.8.7
Si ya ha instalado ruby 1.8.7. Simplemente haz CC=/usr/bin/gcc-4.2 rvm reinstall 1.8.7
Asegúrese de eliminar 1.8.7 si ya lo ha instalado antes de usar " export CC=/usr/bin/gcc-4.2
" haciendo " rvm remove 1.8.7
"
Comprueba qué versión de gcc tienes así:
ls -Al `which gcc-4.2`
Seguí las instrucciones aquí: http://robots.thoughtbot.com/post/27985816073/the-hitchhikers-guide-to-riding-a-mountain-lion
brew update
brew tap homebrew/dupes
brew install apple-gcc42
Luego reinstala:
Verifique nuevamente cuál es su ruta a gcc (para usar para CC =):
ls -Al `which gcc-4.2`
(opcional) Puede configurar esto en su .bashrc por ejemplo:
export CC=/usr/bin/gcc-4.2
(opcional) eliminar cualquier versión anterior de ruby
rvm remove 1.8.7
Entonces:
CC=/usr/local/bin/gcc-4.2 rvm --verify-downloads 1 reinstall 1.8.7-p357 --without-tcl --without-tk
o si ha configurado CC en su perfil
rvm --verify-downloads 1 reinstall 1.8.7-p357 --without-tcl --without-tk
Tenga en cuenta las banderas en la instalación rvm. Tuve problemas para verificar la suma de comprobación en el servidor ftp y algunos problemas con tck y otras cosas. Puede omitir esas banderas.
Además: es posible que deba eliminar una versión anterior de su gemset:
rvm gemset delete <gemset>
Entonces
gem install bundler
bundle install
Espero que esto ayude.
En lugar de " export CC=/usr/bin/gcc-4.2
", " export CC=gcc
" (se debe instalar xCode 4.2.x).
Esto no está relacionado con RVM, pero si lo que está buscando es un entorno de desarrollo local para Lion, puede probar RubyStack Es un instalador todo en uno de código abierto para Apache, MySQL, Ruby, Rieles, etc. No requiere compilación y es autocontenido, por lo que si no te gusta simplemente puedes eliminar el directorio de instalación y listo. Descargo de responsabilidad: soy uno de los desarrolladores de RubyStack :)
Incluso con todas las otras sugerencias en esta página, todavía estaba obteniendo segfaults y frustrado, así que dije "¡joder!" y use el sistema proporcionado por Ruby 1.8.7:
rvm use system
Debe usar sudo para instalar gemas, pero aún así evitará dolores de cabeza.
Mi solución fue anular el enlace simbólico / usr / bin / gcc en el terminal. Así es como lo hice:
https://plus.google.com/101970693023462019144/posts/eYVLvMCqTmc
Esto no solo solucionó mi instalación de RVM, sino que también me aseguró de que funcionara la instalación de gemas con extensiones nativas (como rmagick).
Si eso aún no funciona, agregue --force. Entonces esto se convierte en:
CC=/usr/bin/gcc-4.2 rvm install ruby-1.8.7 --force
Si está utilizando RVM en un flujo de trabajo de desarrollo, agregué una corrección en un archivo .rvmrc para OS X Lion.
https://gist.github.com/1112962
(nombre de archivo actualizado)
Si ha instalado Xcode 4.2, en realidad ya no instala LLVM gcc, por lo que debe agregarlo. Por alguna razón, la degradación a 4.1 después de que haya instalado 4.2 no funciona correctamente (al menos no fue así para mí y otros tuvieron problemas similares).
Después de un poco de paliza, esto es lo que finalmente funcionó para mí:
- Instalar Xcode 4.2 desde el App Store
- Instala darwin gcc usando el instalador OSX gcc
- Instala REE asegurándote de eliminar cualquier vestigio de intentos previos:
Cierre cualquier ventana de terminal abierta, abra una nueva y
rvm remove ree
export CC=/usr/bin/gcc-4.2
rvm install ree
Esto funcionó para mí con rvm 1.8.6, OS X 10.7.2 y gcc-4.2 versión 4.2.1 (Apple compila 5666).
Si ya ha instalado Xcode 4.1, resista el impulso de actualizar a 4.2 y debería estar bien.
Tengo el mismo problema solo para arch x86_64 , cuando comento línea en mi ~ / .rvmrc
rvm_archflags="-arch x86_64"
Abra una nueva terminal e intente instalar ruby-1.8.7 nuevamente
rvm install 1.8.7
Fue un exito.
Tuve el mismo problema en mi sistema. Instalé las herramientas de línea de comandos de Xcode de Apple que se envía con el compilador LLVM y sin un LLVM gratuito.
Ruby 1.8.7 no funcionará con un compilador LLVM ni siquiera con CC=clang
, por lo que la instalación de un gcc libre de LLVM resuelve el problema.
Hay varias opciones enumeradas aquí:
https://github.com/mxcl/homebrew/wiki/Custom-GCC-and-cross-compilers
Para resumir, instale GCC v4.2 con Homebrew :
brew install https://raw.github.com/Homebrew/homebrew-dupes/master/apple-gcc42.rb
y luego instala ruby 1.8.7:
CC=gcc-4.2 rvm install 1.8.7
Usando la versión macport y ruby-1.9.x. Instalé con éxito los rieles con ruby gem.
CC=/usr/bin/gcc-4.2 rvm install 1.8.7
no funcionó, utilicé CC=/usr/bin/gcc rvm install 1.8.7
y lo hice (comprobando con "which gcc
")