ruby on rails - utilizadas - No se puede instalar json gem con ruby 2.2.3 en Ubuntu
las mejores gemas para ruby on rails (3)
Estoy repasando un tutorial de Rails y no puedo completar la ''instalación del paquete'' debido a un problema con la gema json. Cuando intento instalarlo directamente:
me@tru2:~/rails/hello_app$ gem install json -v ''1.8.3''
Building native extensions. This could take a while...
ERROR: Error installing json:
ERROR: Failed to build gem native extension.
/home/me/.rvm/rubies/ruby-2.2.3-dev/bin/ruby -r ./siteconf20150820-12793-qdkev7.rb extconf.rb
creating Makefile
make "DESTDIR=" clean
make "DESTDIR="
compiling generator.c
linking shared-object json/ext/generator.so
/usr/bin/ld: cannot find -lgmp
collect2: error: ld returned 1 exit status
make: *** [generator.so] Error 1
make failed, exit code 2
Gem files will remain installed in /home/me/.rvm/gems/ruby-2.2.3-dev/gems/json-1.8.3 for inspection.
Results logged to /home/me/.rvm/gems/ruby-2.2.3-dev/extensions/x86_64-linux/2.2.0/json-1.8.3/gem_make.out
Como se mencionó, la versión de ruby es 2.2.3.
me@tru2:~/rails/hello_app$ ruby --version
ruby 2.2.3p173 (2015-08-18 revision 51636) [x86_64-linux]
La ejecución de ''gem list'' muestra que json 1.8.1 está actualmente instalado, pero algo en el Gemfile predeterminado debe requerir 1.8.3. Una búsqueda mostró muchas preguntas similares pero ninguna respuesta que me permitió superar este problema. He intentado ejecutar con sudo y parece funcionar, pero, volviendo a mí, el problema sigue ahí.
Intenta ejecutar rvm implode
y luego sigue esta guía http://ryanbigg.com/2014/10/ubuntu-ruby-ruby-install-chruby-and-you/
Sospecho que RVM no incluyó los encabezados correctos para usted.
Json 1.8.3 parece tener algunos problemas con Ruby 2.2.3 (aunque espero que algunos parches futuros de Ruby probablemente solucionen el problema). La degradación de Ruby a 2.2.2 funcionó para mí.
(Dicho esto, también lo hizo sudo apt-get install libgmp3-dev
, como se suggested , pero si no puede hacer eso, la degradación de ruby podría ser una alternativa viable).
cannot find -lgmp
significa que no puede encontrar la biblioteca gmp. Intenta ejecutar:
sudo apt-get install libgmp3-dev