capistrano 3.找不到可执行文件

时间:2013-11-27 20:03:04

标签: capistrano

我有简单的sinatra应用程序进行测试。现在我正在测试capistrano 3并且总是在我的任务deploy:restart上出现这样的错误:

bash: bundle: command not found

我的Capfile:

require 'capistrano/setup'
require 'capistrano/deploy'
require 'capistrano/rvm'
require 'capistrano/bundler'
Dir.glob('lib/capistrano/tasks/*.cap').each { |r| import r } 

配置/ deploy.rb

set :application, 'captest'

set :repo_url, "https://iboltnev:password@bitbucket.org/iboltnev/simple-captest.git" 

set :deploy_to, '/home/ilya/capsinatra'
set :pty, true

namespace :deploy do

  desc 'Start application'
  task :restart do
    on roles(:app), in: :sequence, wait: 5 do
      execute "bundle exec thin start -R app.rb"
    end 
  end 

end

的Gemfile:

source 'https://rubygems.org'
gem 'sinatra'
gem 'thin'

group :development do
  gem 'capistrano'
  gem 'capistrano-bundler'
  gem 'capistrano-rvm'
end

看起来环境与我的ssh-session不同,因为我可以通过ssh手动启动服务器这个shell命令。
我做错了什么?

1 个答案:

答案 0 :(得分:0)

包含capistrano-rvm后,我发现您正在使用RVM 但只是包含它并不会使capistrano在部署时使用RVM环境,根据capistrano-rvm文档,您需要使用所需的RVM选项配置您的舞台环境:

配置/部署/ staging.rb:

(...)
set :rvm_type, :user # or :auto
set :rvm_ruby_version, '2.0.0-p247@mygemset'