我一直在 Slicehost 上我 2 岁以上的切片上使用每当宝石。然而我不能在我的新切片上做同样的事情。
主要区别在于我现在在 MBP 和切片上运行 RVM。我还运行 Rails 3。我有 Rubygems v 1.5.0 和最新版本的 RVM 、Ruby 1.9.2p136、Capistrano 以及几乎所有其他软件包。
我已经尝试了一百万件事,阅读了所有文档,到目前为止我正在使用每当 gem 版本 0.6.2。我还查看了 SO 和 Google 上相关主题的所有问题。
这是deploy.rb中的代码:
namespace :deploy do
...
desc "Update the crontab file"
task :update_crontab, :roles => :db do
run "cd #{release_path} && whenever --update-crontab #{application}"
end
end
after 'deploy:update_code', 'deploy:update_crontab'
这是运行“cap deploy”后收到的错误消息
failed: "rvm_path=$HOME/.rvm/ $HOME/.rvm/bin/rvm-shell '1.9.2' -c 'cd /home/deploy/public_html/lasource/releases/20110209201551 && /home/deploy/.rvm/gems/ruby-1.9.2-p136/bin/whenever --write-crontab'" on lasource.ohlalaweb.com
任何建议都将受到欢迎。
顺便问一下,capistrano 日志在哪里?
感谢 Simone 的建议,添加了“bundle exec”后,我成功完成了上限部署例程,因为一切都很顺利。然而,新的问题是我的 crontab 文件仍然没有任务,并且没有创建包含 4 个任务的部分。
如果使用 Rails 3,请记住执行命令bundle exec
.
namespace :deploy do
desc "Update the crontab file"
task :update_crontab, :roles => :app, :except => { :no_release => true } do
run "cd #{release_path} && bundle exec whenever --update-crontab #{application}"
end
end
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)