ruby - bcrypt-ruby 不会与 bundler 一起安装,但与 gem install 一起工作正常

标签 ruby rubygems bundler bcrypt

我最近才开始遇到 bundle 程序问题 - bcrypt-ruby 在执行 bundle 安装或 sudo bundle install 时不会安装并退出并出现以下错误:

Installing bcrypt-ruby (2.1.4) with native extensions 
Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.
/usr/bin/ruby1.8 extconf.rb 

Gem files will remain installed in /home/deploy/vendor/bundle/ruby/1.8/gems/bcrypt-ruby-2.1.4 for inspection.
Results logged to /home/deploy/vendor/bundle/ruby/1.8/gems/bcrypt-ruby-2.1.4/ext/mri/gem_make.out
An error occured while installing bcrypt-ruby (2.1.4), and Bundler cannot continue.
Make sure that `gem install bcrypt-ruby -v '2.1.4'` succeeds before bundling.

但是,gem install bcrypt-ruby -v '2.1.4' 运行得很好(事实上已经在这个盒子上运行了)。手动运行 /usr/bin/ruby1.8 extconf.rb 就可以了,生成的 Makefile 也可以用 make 运行。

我在 Ubuntu 10.04.1 LTS 上使用 Ruby 1.8.7 和 bundler 1.0.21。其他 gem 似乎通过 bundler 工作正常。虽然这可能很明显,但我已经确认安装了 ruby​​-dev、gcc 等软件包。我尝试将 --deployment 选项与 bundler 一起使用,但没有任何不同的行为。我认为最近发生变化的唯一一件事是我在几天前进行了 bundle 更新,因此 bundle 进行了次要版本更改(1.0.10 -> 1.0.21)并且 bcrypt 似乎进行了主要版本更改(2.1 .4 -> 3.0.1)。

感谢任何帮助!

最佳答案

安装 Ruby 1.9.2 后,您是否已升级到 Lion?如果是这样,它可能链接到错误的 gcc。

尝试卸载并重新安装 1.9.2,我建议使用 rvm

rvm uninstall 1.9.2

rvm install 1.9.2

如果这不起作用,您可能需要内爆 rvm

rvm implode

bash -s stable < <(curl -s https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer)

source ~/.bash_profile

rvm install 1.9.2

关于ruby - bcrypt-ruby 不会与 bundler 一起安装,但与 gem install 一起工作正常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7786544/

相关文章:

ruby - 用\1替换一个字符

ruby-on-rails - Rails Mailer gem,使用表单向用户发送消息

ruby-on-rails - Heroku:rake 中止错误

ruby-on-rails - "Could not find RubyGem puppet"在 Vagrant

ruby-on-rails-3 - Rails + Slim - MissingTemplate(生产中)

ruby-on-rails - ActiveRecord 为 Time of 26 :12 返回 "argument out of range"

ruby-on-rails - 将 ruby​​ 从 2.3 升级到 2.4.4 后出现错误

ruby-on-rails - 对相关集合使用 send()

ruby - nil :NilClass in gem install 的未定义方法大小

java - 为 HTML/JS/CSS 编写一个小文件打包器