Ubuntu和bcrypt

Pav*_*vel 2 ruby ubuntu bcrypt vagrant

当我尝试运行此命令时:

gem install bcrypt -v '3.1.10'
Run Code Online (Sandbox Code Playgroud)

之后,我收到此错误:

current directory: /usr/local/rvm/gems/ruby-2.3.0@app2/gems/bcrypt-3.1.10/ext/mri
make "DESTDIR="
compiling bcrypt_ext.c
compiling crypt_blowfish.c
compiling wrapper.c
compiling crypt.c
compiling crypt_gensalt.c
linking shared-object bcrypt_ext.so
/usr/bin/ld: cannot find -lgmp
collect2: error: ld returned 1 exit status
make: *** [bcrypt_ext.so] Error 1

make failed, exit code 2
Run Code Online (Sandbox Code Playgroud)

我做了什么来解决这个问题:

  1. 通过rvm重新安装ruby
  2. 更新和安装的包:
sudo apt-get update

sudo apt-get install curl zlib1g-dev build-essential libssl-dev libreadline-dev libyaml-dev libsqlite3-dev libxml2-dev libxslt1-dev libcurl4-openssl-dev python-software-properties libffi-dev make g++ gcc
Run Code Online (Sandbox Code Playgroud)

之后,仍然会得到同样的错误

我的环境:

vagrant@vagrant-ubuntu-trusty-64:/vagrant$ lsb_release -r
Release:    14.04
vagrant@vagrant-ubuntu-trusty-64:/vagrant$ ruby -v
ruby 2.3.0p0 (2015-12-25 revision 53290) [x86_64-linux]
vagrant@vagrant-ubuntu-trusty-64:/vagrant$ rvm -v
rvm 1.26.11 (stable) by Wayne E. Seguin <wayneeseguin@gmail.com>, Michal Papis <mpapis@gmail.com> [https://rvm.io/]
Run Code Online (Sandbox Code Playgroud)

问题:如何安装bcrypt gem?

Bab*_*bar 14

安装libgmp3-dev包.

sudo apt-get install libgmp3-dev
Run Code Online (Sandbox Code Playgroud)

它应该做的伎俩.