Ruby 1.9.3
Gemfile的一部分
#...............
gem "pony"
gem "bcrypt-ruby", :require => "bcrypt"
gem "nokogiri"
#..................
当我尝试安装宝石时,我收到一个错误
alex@ubuntu:~/$ bundle
Fetching gem metadata from http://rubygems.org/.........
Fetching gem metadata from http://rubygems.org/..
Enter your password to install the bundled RubyGems to your system:
#####............................................................
Installing bcrypt-ruby (3.0.1) with native extensions
Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.
/usr/bin/ruby1.9.1 extconf.rb
/usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require': cannot load such file -- mkmf (LoadError)
from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
from extconf.rb:36:in `<main>'
Gem files will remain installed in /home/alex/.bundler/tmp/5526/gems/bcrypt-ruby-3.0.1 for inspection.
Results logged to /home/alex/.bundler/tmp/5526/gems/bcrypt-ruby-3.0.1/ext/mri/gem_make.out
An error occurred while installing bcrypt-ruby (3.0.1), and Bundler cannot continue.
Make sure that `gem install bcrypt-ruby -v '3.0.1'` succeeds before bundling.
然后我就这样做了
sudo gem install bcrypt-ruby -v '3.0.1'
Building native extensions. This could take a while...
ERROR: Error installing bcrypt-ruby:
ERROR: Failed to build gem native extension.
/usr/bin/ruby1.9.1 extconf.rb
/usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require': cannot load such file -- mkmf (LoadError)
from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
from extconf.rb:36:in `<main>'
Gem files will remain installed in /var/lib/gems/1.9.1/gems/bcrypt-ruby-3.0.1 for inspection.
Results logged to /var/lib/gems/1.9.1/gems/bcrypt-ruby-3.0.1/ext/mri/gem_make.out
并得到一个错误 .
我错过了什么?
8 回答
确保已安装
ruby-dev
确保已安装
make
如果仍然出现错误,请查找建议的包 . 如果您尝试安装
gem install pg
之类的东西,则还需要安装liblibpq-dev
(sudo apt-get install libpq-dev
) .如果将来有人遇到这个问题,我正在使用Mac,只需使用'xcode-select --install'安装命令行工具
它还有助于确保安装libmysqlclient-dev(Ubuntu 14.04)
在Mac中,对我而言,这有效:
有类似的问题:
`require': no such file to load -- mkmf (LoadError)
Failed to build gem native extension (mkmf (LoadError)) - Ubuntu 12.04
通常,解决方案是:
Or, if that doesn't work, depending on your ruby version ,运行如下:
应该解决你的问题 .
还是行不通?安装ruby-dev后尝试以下方法:
我在尝试安装jquery-rails时遇到了同样的问题 . 修复是
我发现我需要安装另一个版本的ruby . 所以运行命令
然后尝试安装扩展
如果遇到告诉您没有g的问题,可以运行以下命令进行安装
在搜索了一些解决方案之后,事实证明需要-dev包,而不仅仅是ruby1.8 . 所以,如果你有ruby1.9.1在做
或者要安装通用的ruby版本,请使用(根据@lamplightdev评论):
应该解决它 .
尝试找到mkmf以查看文件是否确实存在 .