1

我正在尝试使用 capistrano gem 在 VPS 上部署 Rails 应用程序。我想将它从我的本地机器部署到 VPS。我没有使用 Github 或 SVN 之类的任何存储库。

所以,我已经安装了 capistrano gem 并运行了“bundle”。并添加了以下几行:

头文件

$:.unshift(File.expand_path('./lib', ENV['rvm_path']))
require "rvm/capistrano"
set :rvm_ruby_string, 'ruby-1.9.3-p194@gemset'

部署.rb

set :user, 'deploy'
set :application, "my_app"

set :scm, :none
set :deploy_via, :copy
set :deploy_to, "/home/#{user}/#{application}"
set :use_sudo, false

default_run_options[:pty] = true
ssh_options[:forward_agent] = true

role :web, '1.2.3.4'
role :app, '1.2.3.4'
role :db,  '1.2.3.4', :primary => 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

但是,在本地运行 'cap deploy:setup' 后,出现以下错误:

RVM - Capistrano integration was extracted to a separate gem, install: `gem install rvm-capistrano` and remove the `$LOAD_PATH.unshift` line, note also the 'set :rvm_type, :user' is now the default (instead of :system). (RuntimeError)

我不确定是否应该使用 rvm-capistrano gem。我是部署方面的新手,详细或分步说明真的很有帮助。谢谢。

4

1 回答 1

1

好像需要添加

宝石“rvm/capistrano”

到您的 Gemfile,然后删除 unshift 行(注释掉)

于 2012-08-31T23:09:11.820 回答