2013-03-13 18 views
17

初めてデプロイしてエラーが発生します。ここCapistranoレールにエラーが発生しました - バンドルが見つかりません:

は私deploy.rbファイル は 'バンドラ/カピストラーノ' セット必要です:アプリケーションを、ここで "アプリ"

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 - 私は "設定:、deploy_viaを:remote_cache" をコメントしていると、今のバンドルを取得:

+0

私は「バンドルが見つかりません」という同様の問題があります。私はそれがRVMを使っている事実と関係があり、 "sh"シェルを使うときには使われない.bashrcに設定されていると確信しています。したがって、あなたが対話型のシェル(bashなど)で見つけたとしても、ルビとバンドルは見つかりませんでした。修正作業中ですが、私はUNIXの専門家ではないので、まだ答えはありません。しかし、有益なエラーメッセージを得るには、 "cap deploy:check"と "cap shell"と "on bundle"を使用してください。 –

答えて

19

OKかかわらず、エラーが見つかりません(あなたの質問に私のコメントを参照してください)答えはあるようだ。

最新のrvmをワークステーションとサーバーの両方にインストールしてください(1.17.1を持っています)。

追加:

gem 'rvm-capistrano' 

あなたのGemfile(グループ内:カピストラーノ宝石などの開発)へ

追加:

require "rvm/capistrano" 
require "bundler/capistrano" 

あなたのconfig/deploy.rbへ

それはそれを行う必要があります

11

# If not running interactively, don't do anything 
[ -z "$PS1" ] && return 

は、おそらくまた、RVMを初期化しても動作します

非対話型シェルに接続した場合でも環境をロードカピストラーノに次の行の前にある.bashrc

export PATH="$HOME/.rbenv/bin:$PATH" 
eval "$(rbenv init -)" 

でこれを入れrbenv使用している場合

+0

あなたはまったく正しいです。非対話シェルのもの! – kubbing

+0

+1が働いた、ありがとう – equivalent8

10

私は同じ問題を抱えています。以下はRBenvとRVMのソリューションです。

RBENV

は正しくRBenvをインストールします。バンドラー宝石をインストールします。 Pefrorm 'rbenv rehash'。

set :default_environment, { 'PATH' => '$HOME/.rbenv/shims:$HOME/.rbenv/bin:$PATH' } 

.RB/deploy.rbまたはデプロイするために追加

RVM

正しく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

幸運を。

+0

良い、その仕事は私のためにRBENV –

関連する問題