新手问题 安装 bcrypt-ruby 总报错,求指点

diguage · 2014年03月03日 · 最后由 floger 回复于 2014年03月07日 · 4023 次阅读

在 Win7 上通过 vagrant 连接到 Ubuntu 12.04 64 位系统上,搭建 Rails 开发环境。其中依赖bcrypt-ruby,安装时报错,然后就使用如下命令再次安装:

gem install bcrypt-ruby -v '3.0.1' --no-rdoc --no-ri

结果,报错如下:

Building native extensions.  This could take a while...
ERROR:  Error installing bcrypt-ruby:
    ERROR: Failed to build gem native extension.

    /home/vagrant/.rvm/rubies/ruby-2.0.0-p353/bin/ruby extconf.rb
/home/vagrant/.rvm/rubies/ruby-2.0.0-p353/bin/ruby: invalid option -/  (-h will show valid options) (RuntimeError)

extconf failed, exit code 1

/gems/bcrypt-ruby-3.0.1 for inspection.e/vagrant/.rvm/gems/ruby-2.0.0-p353@awedding
/extensions/x86_64-linux/2.0.0/bcrypt-ruby-3.0.1/gem_make.outdding

上网查了,StackOverflow 上有人需要安装g++gcclibssl-dev等,安装后这些依赖后,重试,还是报上面那个错误。然后,我把所有以libcrypt-开头的包都装上,继续安装gem install bcrypt-ruby -v '3.0.1' --no-rdoc --no-ri,但是还是报错。倒腾了一个多小时了,还是不行。跪求指点!

和 bcrypt 改名了有没有关系?

#1 楼 @spark 原来是什么?改成什么了?

deploy@plato:~$ gem install bcrypt-ruby -v '3.0.1' --no-rdoc --no-ri

Fetching: bcrypt-ruby-3.0.1.gem (100%)
Building native extensions.  This could take a while...
Successfully installed bcrypt-ruby-3.0.1
1 gem installed

好像没有装什么特别的东西,你试试看 sudo apt-get install build-essential

可能是 ruby 版本问题

#3 楼 @lgn21st 这些已经装过来,在我本地(Mac 通过 vagrant 链接到 Ubuntu12.04 64 位)各种依赖都安装好了,所有的 gem 都没有问题。但是,使用vagrant package打包出来,拷贝到同事的电脑上(Win7 64 位系统)启动,然后使用 XShell 链接到虚拟机上,就有这个问题了。

(坛子的提醒貌似有 Bug,这个回复一直没有提醒。所以,回复晚了,抱歉!)

#4 楼 @zhtzht15 在我电脑上没有问题啊。很奇怪!

#5 楼 @diguage 我记得 package 是打包编译前的 gem,系统换了是不通用的。

#7 楼 @Rei 是吗?我是把系统使用vagrant打包成 box 的。这个应该通用吧。呵呵

#8 楼 @diguage 奥,我以为 bundle package。

你使用这个命令看看。gem install bcrypt-ruby --verbose 看看具体问题,如果还是 不可以就到~/.rvm/gems//gems/-X.X.X/ext/mkmf.log 文件内看看是怎么回事吧

需要 登录 后方可回复, 如果你还没有账号请 注册新账号