Capistrano Развертывание ошибки при сбое для рельсов - пакет: не найден
Это первый раз, когда я развертываю и получаю ошибки.
вот мой файл deploy.rb требуют "связки/capistrano" set: application, "app"
set :scm, :git
set :repository, "[email protected]:myname/#{application}.git"
set :branch, "master"
server "198.12.78.92", :web, :app, :db, primary: true
set :user, "myname"
set :deploy_to, "/home/#{user}/public_html/#{application}"
set :deploy_via, :remote_cache
set :use_sudo, false
default_run_options[:pty] = true
ssh_options[:forward_agent] = true
namespace :deploy do
task :start do ; end
task :stop do ; end
task :restart, :roles => :app, :except => { :no_release => true } do
run "#{try_sudo} touch #{File.join(current_path,'tmp','restart.txt')}"
end
end
Вот ошибка, которую я получаю.
*** [deploy:update_code] rolling back
* executing "rm -rf /home/myname/public_html/app/releases/20130313073408; true"
servers: ["198.12.78.92"]
[198.12.78.92] executing command
command finished in 891ms
failed: "sh -c 'cp -RPp /home/myname/public_html/app/shared/cached-copy /home/myname/public_html/app/releases/20130313073408 && (echo dd92017bc8bb7f951df52d6a14c933e3033fd24b > /home/myname/public_html/app/releases/20130313073408/REVISION)'" on 198.12.78.92
EDIT - я прокомментировал "set: deploy_via,: remote_cache" и теперь получаю пакет: не найдена ошибка, хотя
Ответы
Ответ 1
OK Кажется, ответ (см. мой комментарий к вашему вопросу):
У вас установлена последняя rvm как на вашей рабочей станции, так и на сервере (у меня есть 1.17.1).
добавить:
gem 'rvm-capistrano'
в ваш Gemfile (внутри группы: разработка как камень capistrano)
добавить:
require "rvm/capistrano"
require "bundler/capistrano"
в ваш config/deploy.rb
Это должно сделать это
Ответ 2
Если использовать rbenv, поместите это в .bashrc
export PATH="$HOME/.rbenv/bin:$PATH"
eval "$(rbenv init -)"
перед следующей строкой, чтобы capistrano загружать среду, даже если она связана с неинтерактивной оболочкой
# If not running interactively, don't do anything
[ -z "$PS1" ] && return
вероятно, также будет работать и с инициализацией rvm
Ответ 3
У меня были те же проблемы. Ниже приведено решение для RBenv и RVM.
RBENV
Установите правильно RBenv. Установите драгоценный камень поставщика. Pefrorm 'rbenv rehash'.
Добавить в deploy.rb или развернуть /.rb
set :default_environment, { 'PATH' => '$HOME/.rbenv/shims:$HOME/.rbenv/bin:$PATH' }
РВМ
Правильно установить RVM. Установите драгоценный камень поставщика.
gem 'rvm-capistrano'
deloy.rb или развернуть /.rb
require 'rvm/capistrano'
set :rvm_ruby_string, 'ruby-2.0.0-p247' # Change to your ruby version
set :rvm_type, :system # :user if RVM installed in $HOME
Для дальнейшей информации о конфигурации читайте: https://github.com/wayneeseguin/rvm-capistrano
Удачи.