Почему я получаю ошибку: "sh -c 'cd / var / www / release ...'" при развертывании приложения Rails? - PullRequest
0 голосов
/ 08 декабря 2011

Я развертываю на сервере Debian 6 с Apache, Passenger, Ruby1.9.1

Когда я запускаю «cap deploy» или «cap deploy: migrations», я получаю эту ошибку:

[out :: ip.address] Could not find multi_json-1.0.3 in any of the sources
 ** [out :: ip.address] Run `bundle install` to install missing gems.
 ** [out :: ip.address] 
    command finished in 1037ms
*** [deploy:update_code] rolling back
  * executing "rm -rf /var/www/releases/20111208004427; true"
    servers: ["ip.address"]
    [ip.address] executing command
    command finished in 489ms
failed: "sh -c 'cd /var/www/releases/20111208004427 && /usr/bin/rake1.9.1 RAILS_ENV=production RAILS_GROUPS=assets assets:precompile'" on ip.address

Обратите внимание на части run bundle install to install missing gems и failed sh -c ....

Я уже пробовал это export PATH=/var/lib/gems/1.9.1/bin:${PATH} и пробовал много других возможных решений, но, похоже, ничего не работает.

Кстати, НЕТ рвм.

Ответы [ 2 ]

1 голос
/ 08 декабря 2011

Убедитесь, что ваш файл config/deploy.rb включает задачи Capistrano Bundler с этой строкой:

require 'bundler/capistrano'

Это скажет запустить bundle install после обновления вашего кода, но до запуска других задач, таких как rake assets:precompile.

0 голосов
/ 08 декабря 2011

Для справки для всех остальных, получающих ту же ошибку.Найден ответ: http://www.pastbedti.me/2011/06/change-path-environment-with-rails-and-capistrano/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...