我最近才开始遇到 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/