web-dev-qa-db-fra.com

Impossible d'installer json gem avec Ruby 2.2.3 sur Ubuntu

Je passe par un tutoriel Rails et je ne suis pas en mesure de terminer l'installation du bundle en raison d'un problème avec la gem json. Lorsque j'essaie de l'installer directement:

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

Comme mentionné, la version Ruby est 2.2.3.

me@tru2:~/Rails/hello_app$ Ruby --version
Ruby 2.2.3p173 (2015-08-18 revision 51636) [x86_64-linux]

L'exécution de 'gem list' montre que json 1.8.1 est actuellement installé mais quelque chose dans le Gemfile par défaut doit nécessiter 1.8.3. Une recherche a montré de nombreuses questions similaires, mais aucune réponse ne m'a permis de résoudre ce problème. J'ai essayé de courir avec Sudo et cela semble fonctionner, mais pour en revenir à moi, le problème est toujours là.

45
Fred Snertz

cannot find -lgmp signifie qu'il ne trouve pas la bibliothèque gmp. Essayez de courir:

Sudo apt-get install libgmp3-dev

https://github.com/flori/json/issues/25

146
alf

Json 1.8.3 semble avoir quelques problèmes avec Ruby 2.2.3 (même si je m'attends à certains futurs correctifs de Ruby résoudra probablement le problème). Ruby to 2.2.2 a fonctionné pour moi.

(Cela dit, _ Sudo apt-get install libgmp3-dev, comme @ alfsuggéré - mais si vous n'êtes pas en mesure de le faire, la rétrogradation Ruby pourrait être une alternative possible). )

4
PJSCopeland

Essayez d'exécuter rvm implode puis en suivant ce guide http://ryanbigg.com/2014/10/ubuntu-Ruby-ruby-install-chruby-and-you/

Je soupçonne que RVM n'a pas inclus les en-têtes corrects pour vous.

0
Ryan Bigg