web-dev-qa-db-ja.com

bcrypt-Ruby gem installエラーが発生するのはなぜですか?

Gem deviseをインストールしようとするとエラーが発生し、gem bcrypt-Rubyでインストールが停止します。

$ gem install bcrypt-Ruby
Error installing bcrypt-Ruby:
ERROR: Failed to build gem native extension.

OSX 10.6.7をRuby RVMの下で実行しています。最新バージョンのxcodeを再インストールして再インストールしましたRuby 64ビット、Railsとすべての宝石。

32
led

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

リンクは魅力のように働きました。

30
Curley

ここにいくつかの情報がないかもしれません-私にとって、これはgccのbrewインストールによるものでした。 gccは/ usr/binにありましたが、gcc-4.2にはありませんでした。だから私は次のことをしました:

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

リンクを作成します、gcc-4.2、gemが探しているgccに戻ります。

お役に立てば幸いです。

6
Ryan Clark

Bcrypt-Rubyをインストールする前に、Ruby-devをインストールする必要があります。 Ubuntuを使用している場合は、次を実行します。

Sudo apt-get install Ruby1.9.1-dev

または

Sudo apt-get install Ruby1.8-dev

Rubyバージョンに基づいています。

5
Thomas Tran

私は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-149992

2
brandonjp

Sudo apt-get install Ruby1.9.1-dev

私にとっては魅力的だ!どうもありがとう

2
Tonmoy

RVM(Rubyバージョンマネージャ)のみを使用する必要があります。

rvm uninstall 1.9.3

その後

rvm install 1.9.3

このエラーは、rvm 1.9.3のビルドにあるようですが、アンインストールして再インストールすると、bcrypt-Ruby 3.0.1の問題が修正されます

2
javierMurillo

まあ、それは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
the Tin Man

バージョン1.8を使用している場合、bcryptに必要なパッケージはdevバンドルに含まれています。使ってみてください

$Sudo apt-get install Ruby1.8-dev

その後

$gem install bcrypt-Ruby 
1
ivt

Bundler gemを再インストールする必要があると思います。

gem install bundler その後 bundle install

0
Zakaria

この修正は、os​​xのubuntuで私のために機能し、homebrew、macportsを使用します:

Sudo apt-get install Ruby1.9.1-dev
0
fillky