Вопрос

В продолжение моего вопроса об использовании замороженного Capistrano пару дней назад У меня все еще есть проблемы с запуском Capistrano в папке моего поставщика.

Когда я пытаюсь запустить замороженную версию cap

ruby -r rubygems ./vendor/gems/capistrano-2.5.2/bin/cap deploy-with-migrations

Я получаю ошибку

... RubyGem version error: net-ssh(1.0.8 not >= 2.0.0) (Gem::LoadError) ...

У меня нет папки net-ssh-2.0.4 в папке поставщика, так как я знал, что это зависимость, как мне ее использовать?

Я надеялся, что добавление моей папки vendor в мой файл .gemrc в gempath: сработало бы, но это не так. 'Gem Environment' показывает путь к продавцу, но 'Gem List' не показывает драгоценные камни в папке поставщика.

Есть идеи?

Это было полезно?

Решение

В конце концов я решил не замораживать Capistrano и зависимости от моего каталога гемов поставщика, поскольку они не были гемами, используемыми моим приложением - они использовались для развертывания моего приложения.

Вместо этого я локально установил их на своей учетной записи хостинга, и все работало нормально.

Другие советы

Если вы хотите полностью избежать системных гемов (что неплохо, если вы не контролируете их), я бы установил копию rubygems в каталог vendor.

Установите переменные среды GEM_PATH и GEM_HOME в каталог / path / to / your / vendor / gems, а затем установите rubygems и перейдите оттуда.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top