在部署的服务器上使用ext / multistage和rake 0.9.2.2 vs 0.9.2的capistrano和rake问题

时间:2012-05-01 23:58:18

标签: ruby-on-rails capistrano

我想在服务器上启动暂存环境。我目前正在使用capistrano进行部署。

我对ext / multistage扩展进行了更改,但收到以下错误:

# Add RVM's lib directory to the load path.
  * executing "cd /data/sites/staging.domain.com/apps/app/releases/20120501225426 && rake RAILS_ENV=production  db:migrate"
    servers: ["173.111.158.135"]
    [173.111.158.135] executing command
*** [err :: 173.111.158.135] rake aborted!
*** [err :: 173.111.158.135] Could not find rake-0.9.2.2 in any of the sources
*** [err :: 173.111.158.135] 
*** [err :: 173.111.158.135] (See full trace by running task with --trace)
*** [err :: 173.111.158.135] 
    command finished in 1332ms
failed: "rvm_path=/usr/local/rvm /usr/local/rvm/bin/rvm-shell '1.9.2' -c 'cd /data/sites/staging.domain.com/apps/app/releases/20120501225426 && rake RAILS_ENV=production  db:migrate'" on 173.111.158.135

在我的gemfile中,我有:

gem 'rake', '0.9.2.2'
在我的本地机器上,我得到:

Tue May 01$ rake -V
rake, version 0.9.2.2
Tue May 01$

在服务器上,我有:

#rake -V
rake, version 0.9.2

#rake
Could not find rake-0.9.2.2 in any of the sources
Run `bundle install` to install missing gems.

如果我运行以下内容:

# which ruby
/usr/local/rvm/rubies/ruby-1.9.2-p290/bin/ruby
# which rake
/usr/local/rvm/gems/ruby-1.9.2-p290/bin/rake
# /usr/local/rvm/gems/ruby-1.9.2-p290/bin/rake -V
rake, version 0.9.2

上限错误似乎有点神秘。任何人都可以帮我解决这个问题吗?如果我指定了0.9.2.2并且它只有9.2,为什么我的其他cap脚本会工作呢?有没有办法我需要强制capistrano安装我目前没有做的rake 0.9.2.2,我该怎么做?

THX

1 个答案:

答案 0 :(得分:0)

例如,当您忘记bundle exec rails something时,通常会出现此错误。 capistrano是否要求/想要捆绑命令捆绑安装这些宝石?

编辑: 是的,我打赌你的项目不期望这个:rake RAILS_ENV=production db:migrate但可能是bundle exec rake RAILS_ENV=production db:migrate

我不确定你是如何设置你的帽子的。

这是一个rails 3项目是吗?