Я развертываю приложения Ruby On Rails на облачном сервере Amazon EC2. Сервер работает на Amazon Linux alami-2011.02. Я не могу сказать дистрибутив, на котором он основан (из моего поиска, RedHat / CentOS, но я новичок в этой области).
Я установил свою среду Ruby с помощью RVM (установлен как root). Я установил два рубина:
- РЗЭ 1.8.7
- Ruby 1.9.2-p290
Для каждого развернутого приложения Rails я создаю отдельный набор гемов RVM.
Поскольку я столкнулся с этой проблемой, я полностью обновил среду Ruby, запустив rvm implode
.
Вот мои версии среды:
ruby -v ---> ruby 1.9.2p290 (2011-07-09 revision 32553) [x86_64-linux]
rvm -v ---> 1.8.1
gem -v ---> 1.6.2
bundle -v ---> Bundler version 1.0.18
После этого rvm implode
:
- Я снова установил 2 рубина
- Я создал набор гемов для приложения ree-1.8.7 и установил необходимые гемы -> нет проблем
- Я создал gemset для приложения ruby-1.9.2 и установил гемы через Bundle -> без проблем, даже для гемов с собственными расширениями
- Я создал gemset для другого ruby-1.9.2, попытался установить гемы через Bundle ... вот оно снова!
Это то, что я узнал при выполнении bundle install
(вошел в систему как root):
Updating https://github.com/p7r/will_paginate.git
Fetching source index for http://rubygems.org/
Installing rake (0.9.2)
Installing multi_json (1.0.3)
Installing activesupport (3.1.0)
Installing bcrypt-ruby (3.0.0) with native extensions /usr/local/rvm/scripts/rvm/rubies/ruby-1.9.2-p290/lib/ruby/site_ruby/1.9.1/rubygems/installer.rb:552:in `rescue in block in build_extensions': ERROR: Failed to build gem native extension. (Gem::Installer::ExtensionBuildError)
/usr/local/rvm/scripts/rvm/rubies/ruby-1.9.2-p290/bin/ruby extconf.rb
Gem files will remain installed in /usr/local/rvm/scripts/rvm/gems/ruby-1.9.2-p290@app/gems/bcrypt-ruby-3.0.0 for inspection.
Results logged to /usr/local/rvm/scripts/rvm/gems/ruby-1.9.2-p290@app/gems/bcrypt-ruby-3.0.0/ext/mri/gem_make.out
[ removed the backtrace ]
Однако, если я просто использую gem install bcrypt
, гем будет установлен правильно, и я могу просто использовать bundle install
, который будет работать до следующего гема с собственными расширениями ...
У меня была та же проблема с установкой ruby-1.9.2-p180, я пытался понизить RubyGems до различных версий до 1.5.3, я взорвал свой RVM ... Я много искал в Интернете ответы, эта проблема кажется повторяющейся, но у меня ничего не получилось.
Заранее спасибо за помощь!