繁体   English   中英

为什么我会收到 bcrypt-ruby gem 安装错误?

[英]Why do I get a bcrypt-ruby gem install error?

尝试安装 gem devise 时出现错误,安装在 gem 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 64 位、Rails 和所有 gem。

我在 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 的 brew 安装。 gcc 在 /usr/bin 中,但不在 gcc-4.2 中。 所以我只是做了以下事情:

$ cd /usr/bin
$ sudo ln -s gcc gcc-4.2

它创建了一个链接gcc-4.2 ,gem 正在寻找该链接可以追溯到gcc

希望有帮助。

它需要在安装 bcrypt-ruby 之前安装 ruby-dev。 如果您使用的是 Ubuntu,请运行

sudo apt-get install ruby1.9.1-dev

或者

sudo apt-get install ruby1.8-dev

基于 RUby 版本。

你只需要使用 rvm (ruby 版本管理器)

rvm uninstall 1.9.3

接着

rvm install 1.9.3

看起来这个错误出现在 rvm 1.9.3 的构建上,但是卸载并重新安装修复了 bcrypt-ruby 3.0.1 的问题

sudo apt-get install ruby1.9.1-dev

对我来说太有魅力了! 非常感谢

我正在使用 RVM,并且在安装带有本机扩展(bcrypt-ruby、bson-ext、json、eventmachine、nokogiri、linecache19 等)的 gem 时,我一直遇到这个问题

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

好吧,它适用于 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 所需的软件包位于开发包中。 尝试使用

$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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM