#ruby-on-rails #ruby #rubygems #devise #bcrypt
#ruby-on-rails #ruby #rubygems #разработать #bcrypt
Вопрос:
При попытке установить 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 и все драгоценные камни.
Ответ №1:
У меня была такая же проблема при установке под 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
Связывание сработало как по волшебству.
Ответ №2:
Похоже, здесь может отсутствовать какая-то информация — для меня это было из-за предварительной установки gcc. gcc был в / usr / bin, но не gcc-4.2. Поэтому я просто сделал следующее:
$ cd /usr/bin
$ sudo ln -s gcc gcc-4.2
которая создает ссылку, gcc-4.2
которую ищет gem, которая возвращается к gcc
.
Надеюсь, это поможет.
Ответ №3:
Перед установкой bcrypt-ruby требуется установить ruby-dev. Если вы используете Ubuntu, запустите
sudo apt-get install ruby1.9.1-dev
или
sudo apt-get install ruby1.8-dev
на основе версии RUby.
Ответ №4:
Я использую 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
Ответ №5:
Вам нужно использовать только rvm (ruby version manager)
rvm uninstall 1.9.3
и затем
rvm install 1.9.3
похоже, эта ошибка связана со сборкой rvm 1.9.3, но удаление и переустановка устраняют проблему с bcrypt-ruby 3.0.1
Ответ №6:
sudo apt-get install ruby1.9.1-dev
какая прелесть для меня! Большое спасибо
Ответ №7:
Ну, это работает с 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
и посмотрите, говорит ли он, что вам нужно что-нибудь установить.
Ответ №8:
Если вы используете версию 1.8, необходимые пакеты для bcrypt находятся в комплекте разработки. Попробуйте использовать
$sudo apt-get install ruby1.8-dev
затем
$gem install bcrypt-ruby
Ответ №9:
Это исправление работает у меня на ubuntu, на osx использую homebrew, macports что угодно:
sudo apt-get install ruby1.9.1-dev
Ответ №10:
Я думаю, вам нужно переустановить bundler gem.
gem install bundler
и затем bundle install