Героку-жемчуг не работает с 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