2012-10-03 55 views
1

我Capistrano的部署来源耙0.9.2.2:迁移任务设置为运行一个简单的耙分贝:迁移命令,如下所示:Capistrano的部署:迁移找不到任何的

env PATH=/home/user/.gems/bin sh -c 'cd /home/user/app/releases/20121003140503 && rake RAILS_ENV=production db:migrate' 

当我在ssh会话期间手动运行此任务,它会成功完成。然而,当我从我的地方发展箱跑,我收到以下错误:

** [out :: app] Could not find rake-0.9.2.2 in any of the sources 

我能够是通过SSH(/home/user/.gems/bin/rake)输入which rake找到我耙宝石和rake --version给我“耙,版本0.9.2.2”,所以我不明白为什么这个命令通过卡皮斯特拉诺失败?

+0

你找到了答案吗?我有同样的问题,下面的提议并不能帮助我... – oFca

回答

3

默认情况下,Capistrano不会在rake命令之前放置bundle exec。如果你确定你的捆绑包中有耙子宝石,请尝试将它添加到你的deploy.rb

set :rake, 'bundle exec rake' 

这将告诉Capistrano的到,而不是仅仅rake运行bundle exec rake。如果它在您的软件包中,则不会再有任何问题,并且如果您的系统上安装了更多版本的rake,也将避免冲突。

0

一旦你进入你的应用程序文件夹,您只需键入: $bundle exec rake,而不是仅仅$rake

相关问题