Ubuntu 和 bcrypt

Ubuntu and bcrypt

当我尝试 运行 这个命令时:

gem install bcrypt -v '3.1.10'

之后,我得到这个错误:

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

我是如何解决这个问题的:

  1. reinstall ruby via rvm
  2. updated and installed packages:
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

之后,还是报同样的错误

我的环境:

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/]

问题:如何安装 bcrypt gem?

安装 libgmp3-dev 包。

sudo apt-get install libgmp3-dev

它应该可以解决问题。