2012-07-14 21 views
12

Como telón de fondo, aquí está mi entorno:¿Por qué falla `gem install rails`?

[email protected]:~$ gem env 
RubyGems Environment: 
    - RUBYGEMS VERSION: 1.8.24 
    - RUBY VERSION: 1.9.3 (2011-10-30 patchlevel 0) [x86_64-linux] 
    - INSTALLATION DIRECTORY: /usr/lib/ruby/gems/1.9.1 
    - RUBY EXECUTABLE: /usr/bin/ruby1.9.1 
    - EXECUTABLE DIRECTORY: /usr/bin 
    - RUBYGEMS PLATFORMS: 
    - ruby 
    - x86_64-linux 
    - GEM PATHS: 
    - /usr/lib/ruby/gems/1.9.1 
    - /home/vishal/.gem/ruby/1.9.1 
    - GEM CONFIGURATION: 
    - :update_sources => true 
    - :verbose => true 
    - :benchmark => false 
    - :backtrace => false 
    - :bulk_threshold => 1000 
    - REMOTE SOURCES: 
    - http://rubygems.org/ 

Esto es lo que sucede cuando trato de ejecutar gem install rails.

[email protected]:~$ sudo gem install rails 
[sudo] password for vishal: 
Building native extensions. This could take a while... 
ERROR: Error installing rails: 
    ERROR: Failed to build gem native extension. 

     /usr/bin/ruby1.9.1 extconf.rb 
/usr/local/lib/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require': cannot load such file -- mkmf (LoadError) 
    from /usr/local/lib/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require' 
    from extconf.rb:1:in `<main>' 


Gem files will remain installed in /usr/lib/ruby/gems/1.9.1/gems/json-1.7.3 for inspection. 
Results logged to /usr/lib/ruby/gems/1.9.1/gems/json-1.7.3/ext/json/ext/parser/gem_make.out 

He instalado Rubí 1.9.3 usando apt-get, y yo instalado RubyGems desde un paquete a rubygems.org. ¿Qué debo hacer para que esto funcione?

Respuesta

9

Como se señaló en este otro Stackoverflow question, comprobar si tiene rubí-1.9-dev o paquete rubí-1.9.3-dev. Instálelo si falta y luego intente instalar los rieles.

También, echar un vistazo a RVM de instalar y gestionar múltiples versiones de rubí al mismo tiempo.

+1

que terminaron retirando mi rubí y las instalaciones RubyGems, y acabamos de hacer todo a través de RVM ... era mucho más fácil de lo que esperaba. Lección aprendida: ¡no confíes ciegamente en los repositorios de Ubuntu! –

17

Esto funcionó para mí con Ubuntu 12.10:

sudo apt-get install ruby 
sudo apt-get install ruby-dev 
sudo apt-get install rubygems 
sudo gem install rails 
+0

Interesante. ¿Estabas usando los repositorios estándar? –

+0

sí. RVM suena como la mejor forma de configurar los raíles para usuarios más experimentados. Sin embargo, para los principiantes Rieles totales (como yo) que se puede esperar para poder instalar los rieles en tres líneas: apt-get install ruby, apt-get install rubygems, joya instalar rieles. no estoy seguro de por qué rubygems no se instala automáticamente ruby-dev –

+0

los repositorios eran un poco en mal estado en 12.04, es por eso que estaba teniendo problemas. Me alegra ver que lo arreglaron! –