it-roy-ru.com

Почему я получаю ошибку установки bcrypt-Ruby gem?

Получив ошибку при попытке установить 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 64bit, Rails и все гемы. 

31
led

У меня была такая же проблема при установке под OSX 10.7.3. При установке драгоценного камня, мое сообщение об ошибке было:

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

Похоже, что гем ищет gcc-4.2, но у меня был только файл с именем gcc. Теперь, так как я только что установил последний Xcode (4.3), я знал, что мой компилятор C был совместим, но в гем был встроен gcc-4.2. Итак, мое решение было:

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

Связь работала как шарм.

31
Curley

Похоже, что здесь может отсутствовать некоторая информация - для меня это было связано с установкой gcc для brew. gcc был в/usr/bin, но не gcc-4.2. Поэтому я просто сделал следующее:

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

которая создает ссылку, gcc-4.2, которую ищет гем, возвращаясь к gcc.

Надеюсь, это поможет. 

6
Ryan Clark

Требуется установить Ruby-dev перед установкой bcrypt-Ruby . Если вы используете 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::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

2
brandonjp

Sudo apt-get установить 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

Ну, он работает с Ruby 1.9.2 под RVM на MacOS 10.6.7:

$ 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 находятся в комплекте разработчика. Попробуйте использовать 

$Sudo apt-get install Ruby1.8-dev

затем

$gem install bcrypt-Ruby 
1
ivt

Я думаю, что вам нужно переустановить Gem Bundler.

gem install bundler а затем bundle install

0
Zakaria

Это исправление работает для меня на Ubuntu на OSX использовать Homebrew, MacPort независимо от того, что:

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