Героку-жемчуг не работает с RVM
Я следую учебнику Ruby on Rails по адресу http://railstutorial.org/chapters/beginning#sec:1.4.1, и все идет хорошо, пока я не попытался запустить свое приложение на Героку.
Я установил heroku, это сработало нормально, но теперь, когда я запускаю heroku keys:add
или любую другую команду heroku, я получаю следующую ошибку:
/home/sirswap/.rvm/gems/[email protected]/gems/rest-client-1.4.2/lib/restclient.rb:9:in `rescue in <top (required)>':
no such file to load -- net/https. Try running apt-get install libopenssl-ruby (LoadError)
from /home/sirswap/.rvm/gems/[email protected]/gems/rest-client-1.4.2/lib/restclient.rb:5:in `<top (required)>'
from <internal:lib/rubygems/custom_require>:29:in `require'
from <internal:lib/rubygems/custom_require>:29:in `require'
from /home/sirswap/.rvm/gems/[email protected]/gems/rest-client-1.4.2/lib/rest_client.rb:2:in `<top (required)>'
from <internal:lib/rubygems/custom_require>:29:in `require'
from <internal:lib/rubygems/custom_require>:29:in `require'
from /home/sirswap/.rvm/gems/[email protected]/gems/heroku-1.9.14/lib/heroku/client.rb:2:in `<top (required)>'
from <internal:lib/rubygems/custom_require>:29:in `require'
from <internal:lib/rubygems/custom_require>:29:in `require'
from /home/sirswap/.rvm/gems/[email protected]l/gems/heroku-1.9.14/lib/heroku.rb:3:in `<top (required)>'
from <internal:lib/rubygems/custom_require>:29:in `require'
from <internal:lib/rubygems/custom_require>:29:in `require'
from /home/sirswap/.rvm/gems/[email protected]/gems/heroku-1.9.14/bin/heroku:6:in `<top (required)>'
from /home/sirswap/.rvm/gems/[email protected]/bin/heroku:19:in `load'
from /home/sirswap/.rvm/gems/[email protected]/bin/heroku:19:in `<main>'
Я сделал то, что сказал сообщение об ошибке, и установил libopenssl-ruby, но heroku все еще не работал.
Я выполнил поиск и нашел следующие две страницы, которые пытаются бороться с ошибками герою:
http://www.mail-archive.com/[email protected]/msg05001.html
http://blog.project-sierra.de/archives/1534
Я следил за инструкциями на этих страницах (что то же самое), но heroku все еще не работает.
Я обычно делаю свою работу над окнами, поэтому для меня это немного ново для ubuntu. Здесь моя рубиновая среда:
RubyGems Environment:
- RUBYGEMS VERSION: 1.3.7
- RUBY VERSION: 1.9.2 (2010-08-18 patchlevel 0) [i686-linux]
- INSTALLATION DIRECTORY: /home/sirswap/.rvm/gems/[email protected]
- RUBY EXECUTABLE: /home/sirswap/.rvm/rubies/ruby-1.9.2-p0/bin/ruby
- EXECUTABLE DIRECTORY: /home/sirswap/.rvm/gems/[email protected]/bin
- RUBYGEMS PLATFORMS:
- ruby
- x86-linux
- GEM PATHS:
- /home/sirswap/.rvm/gems/[email protected]
- /home/sirswap/.rvm/gems/[email protected]
- GEM CONFIGURATION:
- :update_sources => true
- :verbose => true
- :benchmark => false
- :backtrace => false
- :bulk_threshold => 1000
- REMOTE SOURCES:
- http://rubygems.org/
Я запускаю ubuntu 10.04.
Любая помощь или совет для следующих шагов будет очень оценена:)
Ответы
Ответ 1
У меня возникла та же проблема, и я думаю, что это было вызвано не установкой всех рубиновых зависимостей, перечисленных при запуске:
$rvm requirements # it was earlier: rvm notes
В частности, я выполнил [обязательно установите aptitude first]:
$sudo aptitude install build-essential bison openssl libreadline5 libreadline5-dev curl git zlib1g zlib1g-dev libssl-dev libsqlite3-0 libsqlite3-dev sqlite3 libxml2-dev
и после всего этого, я перекомпилировал мою рубиновую установку (используя $rvm reinstall 1.9.2
), а heroku работал как шарм.
Ответ 2
Эй:)
Не знаю, действительно ли это релевантно или будет ли это работать для вас также.. это сделало для меня.
Была ли та же самая проблема.
Я также заметил при выполнении
$ rails console
Я получал ошибки, которые указывали на наличие проблем с Readline.
После http://rvm.beginrescueend.com/packages/readline/ помог мне исправить все проблемы, которые я испытывал.
Ответ 3
Я вчера много часов пробовал. В конце концов, несколько случайно (на самом деле больше похоже на отчаяние), я просмотрел файл /usr/bin/heroku
Я заметил первую строку script said
#!/usr/bin/env ruby1.9.1
Я изменил это на
#!/usr/bin/env ruby
и он начал работать. После повторной установки рубина около 10 раз и все, что сбрасывает с помощью openssl. Rolleyes
Ответ 4
Я также делаю Railstutorial на Ubuntu 10.10 и получил ту же ошибку при попытке добавить ключи Heroku. Это решает:
$ rvm remove 1.9.2
$ rvm pkg install openssl
$ rvm install 1.9.2 -C --with-openssl-dir=$HOME/.rvm/usr
Ответ 5
Прочитайте мои указания по как установить RVM в Linux. Вам нужно установить libssl-dev или что-то вроде net/https не будет работать. Это нормально, хотя, просто установите это и перекомпилируйте свои рубины.
Ответ 6
В вашем случае "перекомпиляция ваших рубинов", вероятно, можно сделать, выпустив:
rvm install
Или, альтернативно, вы можете сделать некоторый прогресс, вручную перекомпилируя расширение openssl:
cd /home/sirswap/.rvm/src/ruby-1.9.2-p0/ext/openssl
ruby extconf.rb
make
make install
Ответ 7
Пожалуйста, переустановите рубин. Я был такой же проблемой и исправлен, переустановив ruby.
rvm reinstall ruby 1.9.2