为什么会出现bcrypt-ruby gem安装错误?

| 尝试安装gem dev时出现错误,安装停止 宝石bcrypt-ruby:
$ gem install bcrypt-ruby
Error installing bcrypt-ruby:
ERROR: Failed to build gem native extension.
我正在RVM下使用Ruby运行OSX 10.6.7。 我重新安装了最新版本的xcode并重新安装了Ruby 64bit,Rails和所有gems。     
已邀请:
我在OSX 10.7.3下安装时遇到了同样的问题。安装gem时,我的错误消息是:
Building native extensions.  This could take a while...
ERROR:  Error installing bcrypt-ruby:
ERROR: Failed to build gem native extension.

creating Makefile

make
compiling bcrypt_ext.c
make: /usr/bin/gcc-4.2: No such file or directory
make: *** [bcrypt_ext.o] Error 1
看起来gem正在寻找gcc-4.2,但我只有一个名为gcc的文件。现在,由于我刚刚安装了最新的Xcode(4.3),所以我知道我的C编译器兼容,但是gem已将gcc-4.2硬编码到其中。所以我的解决方案是:
sudo ln -s /usr/bin/gcc /usr/bin/gcc-4.2
链接就像一个魅力。     
看来这里可能缺少一些信息-对我来说,这是由于gcc的酿造。 gcc在/ usr / bin中,但不在gcc-4.2中。所以我只是做了以下事情:
$ cd /usr/bin
$ sudo ln -s gcc gcc-4.2
这将创建一个链接
gcc-4.2
,该宝石正在寻找该链接,该链接可以返回
gcc
。 希望能有所帮助。     
在安装bcrypt-ruby之前,需要先安装ruby-dev。 如果您使用的是Ubuntu,请运行
sudo apt-get install ruby1.9.1-dev
要么
sudo apt-get install ruby1.8-dev
基于RUby版本。     
我正在使用RVM,并且每次安装具有本机扩展名的gem(bcrypt-ruby,bson-ext,json,eventmachine,nokogiri,linecache19等)时,都会遇到此问题。
Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.
我最终能使事情正常进行的唯一方法是先卸载再重新安装ruby。
rvm remove 1.9.2
rvm install 1.9.2
感谢@doublebee的提示: https://github.com/flori/json/issues/78#issuecomment-1499920     
您只需要使用rvm(红宝石版本管理器)
rvm uninstall 1.9.3
接着
rvm install 1.9.3
看起来此错误是在rvm 1.9.3的构建上,但卸载并重新安装可修复bcrypt-ruby 3.0.1的问题     
  须藤apt-get install ruby​​1.9.1-dev 魅力给我!非常感谢     
好吧,它可以在MacOS 10.6.7的RVM下与Ruby 1.9.2一起使用:
$ ruby -v
ruby 1.9.2p180 (2011-02-18 revision 30909) [x86_64-darwin10.6.0]

$ gem install bcrypt-ruby
Fetching: bcrypt-ruby-2.1.4.gem (100%)
Building native extensions.  This could take a while...
Successfully installed bcrypt-ruby-2.1.4
1 gem installed
Installing ri documentation for bcrypt-ruby-2.1.4...
Installing RDoc documentation for bcrypt-ruby-2.1.4...
试试
rvm notes
,看看是否需要安装任何东西。     
如果您使用的是1.8版,则bcrypt所需的软件包在dev捆绑包中。尝试使用
$sudo apt-get install ruby1.8-dev
然后
$gem install bcrypt-ruby 
    
此修复对我在osx上的ubuntu上使用自制软件,macports起作用:
sudo apt-get install ruby1.9.1-dev
    
我认为您需要重新安装捆绑包gem。
gem install bundler
接着  
bundle install
    

要回复问题请先登录注册