0

我正在将我的新 Rails 应用程序部署到我的主机 (Dreamhost)。我正在使用 Capistrano 进行部署。

我运行 cap deploy 没有问题

当我尝试运行 cap deploy:migrations 我收到以下错误:在任何源中找不到 rake-10.0.3

为了检查发生了什么,我使用了

cap shell
    which rake
    --> /home/myUser/.gems/bin/rake
    /home/myUser/.gems/bin/rake -V
    --> rake, version 0.8.7

但是,当我从 ssh 检查相同的信息时,我得到

$ which rake
-->/home/myuser/.gems/bin/rake
$ /home/myuser/.gems/bin/rake -V
-->rake, version 10.0.3

我怎么可能得到这两个不同的结果?任何的想法?

如果有帮助,我添加我的 deploy.rb 文件:

default_run_options[:pty] = true

set :user, 'XXX'
set :domain, 'XXX'
set :application, 'XXX'
set :repository,  "git@bitbucket.org:XXX"
set :deploy_to, "/home/#{user}/XXX"
set :deploy_via, :remote_cache
set :scm, 'git'
set :branch, 'master'
set :git_shallow_clone, 1
set :scm_verbose, true
set :use_sudo, false


default_environment["PATH"] = "/home/myUser/.gems/bin:$PATH"
set :shell, '/bin/bash'

server domain, :app, :web
role :db, domain, :primary => true

set :ssh_options, { :forward_agent => true }

namespace :deploy do
  task :restart do
    run "touch #{current_path}/tmp/restart.txt"
  end
end

谢谢!

4

2 回答 2

2

解决了!

GEM_PATH 存在问题,我的特定宝石未加载。

以下添加到 deploy.rb

default_environment["GEM_PATH"] ="/home/myUser/.gems:/usr/lib/ruby/gems/1.8" default_environment["PATH"] = "/home/myUser/.gems/bin:/usr/lib/红宝石/宝石/1.8/bin/:$PATH"

于 2012-12-19T11:59:55.993 回答
0

可能在您的 Gemfile 中设置了 rake 0.8。rake 10.0 是最后安装的版本。

于 2012-12-17T19:29:41.950 回答