#ruby-on-rails-3 #rubygems #capistrano #passenger #dreamhost
#ruby-on-rails-3 #rubygems #capistrano #пассажир #dreamhost
Вопрос:
Я пытаюсь развернуть свое приложение Rails на своем веб-хостинге (DreamHost) с помощью Capistrano, но он продолжает терпеть неудачу, потому что различные gems, установленные на сервере, имеют другую версию.
Я могу обойти это, вручную устанавливая, одну за другой, конкретную версию gem, когда Capistrano жалуется на это.
Должен быть лучший способ .. могу ли я что-нибудь сделать, чтобы при развертывании автоматически устанавливались разные версии, если требуется?
Ответ №1:
Да, есть, и это запечено прямо в bundler…
Вам просто нужно добавить require 'bundler/capistrano'
в свой cap-файл, и с этого момента все должно быть в порядке.
Если все не в порядке, вы можете попробовать cap bundle:install
вручную все прояснить перед установкой.
Комментарии:
1. Спасибо. У меня только одна проблема с этим: bundler не установлен на моем веб-хостинге, но я установил его вручную, и я могу запустить bundle, когда подключаюсь к нему по ssh. Однако он не может найти команду bundle через Capistrano. что я упускаю?
2. Установив переменную bundle_cmd
set :bundle_cmd, PATH_TO_BINARY
, вы можете задать точный путь к двоичному файлу bundler. Вам просто нужно проверить, где находятся ваши драгоценные камни.