web-dev-qa-db-ja.com

Ubuntuでjson gemをRuby 2.2.3でインストールできません

Railsチュートリアルを行っていますが、json gemに問題があるため「バンドルインストール」を完了できません。直接インストールしようとすると:

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

前述のとおり、Rubyバージョンは2.2.3です。

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

「gem list」を実行すると、json 1.8.1が現在インストールされていることが示されますが、デフォルトのGemfileには1.8.3が必要です。検索では多くの同様の質問が表示されましたが、この問題を解決する答えはありませんでした。私はSudoで実行しようとしましたが、うまくいくようですが、私に戻って問題はまだあります。

45
Fred Snertz

cannot find -lgmpは、gmpライブラリが見つからないことを意味します。実行してみてください:

Sudo apt-get install libgmp3-dev

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

146
alf

Json 1.8.3には、Ruby 2.2.3の問題があるようです(ただし、将来的にはRubyの問題が修正されると思われます)。 Ruby to 2.2.2は私のために働いた。

(そうは言ったが、Sudo apt-get install libgmp3-dev@ alfsuggested -しかし、それができない場合は、Rubyをダウングレードするのが実行可能な代替案かもしれません。 )

4
PJSCopeland

rvm implodeを実行してから、このガイドに従ってください http://ryanbigg.com/2014/10/ubuntu-Ruby-ruby-install-chruby-and-you/

RVMに正しいヘッダーが含まれていなかったと思われます。

0
Ryan Bigg