使用命名空间部署时出现capistrano错误

DGM*_*DGM 3 ruby capistrano ruby-on-rails

cap deploy:migrate突然停止了工作,但出现了错误:

*** [err :: 1.2.3.4:2222] bash: -c: line 1: syntax error: unexpected end of file command finished in 559ms
failed: "/usr/local/bin/rvm-shell 'ruby-1.9.2-p0@gemset' -c 'cd /home/user/app/releases/20111122182205 && #<Capistrano::Configuration::Namespaces::Namespace:0xa6a0cc> RAILS_ENV=staging  db:migrate'" on 1.2.3.4:2222
Run Code Online (Sandbox Code Playgroud)

显然这个错误与这不是一个有效的命令有关... #<Capistrano::Configuration::Namespaces::Namespace:0xa6a0cc>

但我不知道最近会发生什么变化可能导致它.有任何想法吗?

更新

我对我的代码没有任何改变,但我可能已经摆弄了环境.我想知道是否可能是由于不同的宝石和capistrano的版本.看起来有或没有bundle exec调用之间存在不同的版本.

Pet*_*oeg 11

我有完全相同的问题,在我的情况下,它与命名空间和变量之间的冲突有关.基本上,发生的事情是:

设置:用户,'某些用户'

namespace:user do; 结束

因此,每当我尝试引用用户变量时,我都会获得命名空间.我将命名空间:用户更改为命名空间:用户,这一切都很好.

最终解决方案 (由OP编辑)

这几乎就是钱.资产管道代码包含一个调用,#{rake}该调用与我在远程服务器上运行代码所采用的配方冲突,后者有一条namespace :rake线.更改我的rake命名空间修复了问题.