心理错误在Capistrano部署

我有一个工作一段时间的Capistrano部署脚本,但是现在它在部署上抛出这样的错误:

/Users/lifecoder/.rvm/rubies/ruby-1.9.3-p362/lib/ruby/1.9.1/psych.rb:203:in `parse': (<unknown>): control characters are not allowed at line 1 column 1 (Psych::SyntaxError) from /Users/lifecoder/.rvm/rubies/ruby-1.9.3-p362/lib/ruby/1.9.1/psych.rb:203:in `parse_stream' from /Users/lifecoder/.rvm/rubies/ruby-1.9.3-p362/lib/ruby/1.9.1/psych.rb:151:in `parse' from /Users/lifecoder/.rvm/rubies/ruby-1.9.3-p362/lib/ruby/1.9.1/psych.rb:127:in `load' ... 

在部署过程中还会引发多个警告:

  ** [out :: test.domain] Warning! PATH is not properly set up, '/home/lifecoder/.rvm/gems/ruby-1.9.3-p448/bin' is not at first place, ** [out :: test.domain] ** [out :: test.domain] usually this is caused by shell initialization files - check them for 'PATH=...' entries, ** [out :: test.domain] ** [out :: test.domain] to fix run: 'rvm use ruby-1.9.3-p448'. 

我在这里发现类似的问题,并认为这个警告实际上是心灵崩溃的原因。 但是我不能摆脱它,PATH对我来说实际上看起来不错,而当我通过ssh连接并检查它时,rvm 第一位的:

 $ echo $PATH /home/lifecoder/.rvm/gems/ruby-1.9.3-p448/bin:/home/lifecoder/.rvm/gems/ruby-1.9.3-p448@global/bin:/home/lifecoder/.rvm/rubies/ruby-1.9.3-p448/bin:/home/lifecoder/.rvm/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games 

我不是很精通* nix,所以我可能会错过一些东西 – 但是找不到具体的东西。

我知道这可能是由YAMLparsing器引擎更改修复,或删除YAML文件,所以Psych不会启动,但我宁愿以正确的方式解决这个问题。

UPD1 :我在Capistrano脚本中添加了一个'use rvm'的钩子,它返回给我'RVM不是函数'。 看来它不加载bashrc /其他init脚本。

UPD2 :是的,它不加载bash,但是当我启用bash时,它变得更糟。 作为临时解决scheme,我禁用了capistrano /资产。 似乎我需要的是抹去复制粘贴的capistrano脚本,并从头开始重写。

当Capistrano登录时 – 它使用非交互式shell – 它不加载.bash_profile所以,我已经在deployment.rb中加载了一个bash作为默认shell:

 default_run_options[:shell] = '/bin/bash' 

然后将RVM加载脚本从.bash_profile移动到.bashrc

 #.bash_profile source ~/.bashrc #.bashrc [[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session *as a function*