Ошибка при создании нового проекта Rails 3: `require ': невозможно загрузить такой файл - openssl (LoadError)
Когда я пытаюсь создать новый проект ($ rails new first_app), он создает следующую ошибку после создания структуры каталогов.
...
...
create vendor/plugins/.gitkeep
run bundle install
/home/amit/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require': cannot load such file -- openssl (LoadError)
from /home/amit/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
from /home/amit/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/net/https.rb:22:in `<top (required)>'
...
...
Вот конфигурация на Ubuntu 10.04
$ rails -v
Rails 3.2.1
$ rvm -v
rvm 1.10.2 by Wayne E. Seguin <[email protected]>, Michal Papis <[email protected]> [https://rvm.beginrescueend.com/]
$ bundle -v
Bundler version 1.0.21
$ gem -v
1.8.15
Пожалуйста, помогите мне решить эту проблему.
Ответы
Ответ 1
Вам нужно связать свой рубин с поддержкой openssl. Посмотрите http://beginrescueend.com/packages/openssl/
rvm reinstall 1.9.3 --with-openssl-dir=/usr/local
Это требует, чтобы на вашем ящике присутствовали заголовки openssl. Они называются по-разному в системах, таких как libopenssl-dev
, libssl-dev
, openssl-devel
и т.д.
Ответ 2
Была та же проблема на Ubuntu Lucid (10.04). Исправлено:
sudo apt-get install libssl-dev
rvm remove 1.9.3
rvm install 1.9.3
Ответ 3
Это решение которое я видел в этой ссылке, работало для меня очень хорошо.
Предполагая, что RVM используется
rvm pkg install openssl
Удалить ruby
rvm remove 1.9.3
И, наконец, перекомпилируйте Ruby с помощью openssl
rvm install 1.9.3 --with-openssl-dir=$HOME/.rvm/usr
Наконец
rvm use 1.9.3 --default
Я надеюсь, что это сработало для будущих поисков.
Ответ 4
Если вы не используете RVM, вот как:
sudo apt-get install libssl-dev
./configure --prefix=/usr/local
make
make install
Ответ 5
Вот инструкции для Mac OS 10.8 (хотя, как представляется, общие)
https://gist.github.com/joneslee85/5025729
rvm pkg install openssl
rvm reinstall 1.9.3 --with-openssl-dir=$rvm_path/usr