capistrano - NameError: неинициализированная константа Net::SSH::KnownHosts::SUPPORTED_TYPE

Я пытаюсь развернуть приложение Rails (3.1.3) в среде preprod. Я использую capistrano (2.12.0) и rvm-capistrano (1.2.2).

Когда я звоню bundle exec cap ssh, он работает нормально. Но когда я вызываю bundle exec cap deploy, я получаю следующую трассировку:

$ cap deploy
    triggering start callbacks for `deploy'
  * 18:42:19 == Currently executing `multistage:ensure'
*** Defaulting to `preprod'
  * 18:42:19 == Currently executing `preprod'
  * 18:42:19 == Currently executing `deploy'
  * 18:42:19 == Currently executing `deploy:update'
 ** transaction: start
  * 18:42:19 == Currently executing `deploy:update_code'
  * 18:42:19 == Currently executing `deploy:set_previous_revision'
  * executing "cd /rails_apps/com.example.preprod/current; git rev-parse --short HEAD"
    servers: ["preprod.example.com"]
connection failed for: preprod.example.com (NameError: uninitialized constant Net::SSH::KnownHosts::SUPPORTED_TYPE)

Конечно, example.com — это заполнитель, он не возникает из-за ошибки в конфигурации capistrano.

Любая идея о том, что может быть причиной этого?

Я использую RVM с Ruby 1.9.3-p194.

Спасибо !


person Happynoff    schedule 24.05.2012    source источник


Ответы (2)


Возврат с net-ssh 2.5.1 к 2.4.0, похоже, на данный момент решает проблему.

person Oliver    schedule 24.05.2012
comment
Кроме того, если вы переходите на более раннюю версию и/или указываете на исправление в ветке, указанной ниже, убедитесь, что вы запускаете cap с bundle exec cap deploy, иначе упаковщик подберет версию 2.5.1, которую вы уже установили. - person Ben Scheirman; 25.05.2012
comment
На всякий случай кому-то нужен чит-код: $ gem uninstall net-ssh Select gem to uninstall: ` 1. net-ssh-2.3.0` ` 2. net-ssh-2.5.1` ` 3. Все версии` > 2 Successfully uninstalled net-ssh-2.5.1 - person charliepark; 25.05.2012
comment
исправлено с 2.5.2. запустите bundle update, чтобы получить последнюю версию, или укажите конкретную версию в вашем Gemfile - person Yuval Karmi; 26.05.2012

Я установил гем rvm-capistrano, чтобы решить эту проблему:

gem install rvm-capistrano

person ServerYang    schedule 15.08.2014