2012-06-15 9 views
22

Usando Ubuntu, cuando corro "bundle install" configurar mi entorno de Rails, se genera un error durante la instalación de la gema JSON:¿Por qué recibo un error al instalar la joya JSON en Ubuntu?

Installing json (1.7.3) with native extensions 
Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension. 

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

Gem files will remain installed in /home/danny/.bundler/tmp/2040/gems/json-1.7.3 for inspection. 
Results logged to /home/danny/.bundler/tmp/2040/gems/json-1.7.3/ext/json/ext/parser/gem_make.out 
An error occured while installing json (1.7.3), and Bundler cannot continue. 
Make sure that `gem install json -v '1.7.3'` succeeds before bundling. 

Cuando intento instalar solamente la gema JSON 1.7.3 También me da un error:

Building native extensions. This could take a while... 
ERROR: Error installing json: 
    ERROR: Failed to build gem native extension. 

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

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

He instalado RVM y estoy ejecutando Ruby 1.9.3; ¿Por qué no puede instalar la joya JSON?

Respuesta

69

Instalación del paquete de ruby1.9.1-dev debería solucionar esto para usted:

sudo apt-get install ruby1.9.1-dev 
+0

Eso funcionó, gracias! ¿Pero tendrá eso otros efectos secundarios? – TownWizard

+1

No realmente, el "devkit" simplemente configura los ganchos y las opciones necesarias para compilar las extensiones que lo solicitan. La gema JSON usa [extensiones escritas en C para velocidad] (http://flori.github.com/json/doc/index.html). Si * realmente * no desea (o no puede) instalar el devkit, puede instalar la plataforma de ruby ​​puro con 'gem install json pure'. – harbichidian

+1

Esto funcionó para mí. Estoy en Ubuntu FYI. –

Cuestiones relacionadas