У меня есть сценарий развертывания Capistrano, которые имеют работу в течение некоторого времени, но теперь это бросить такую ошибку на развертывание:Psych ошибка развертывания 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'.
Я нашел аналогичную проблему here и предположим, что это предупреждение на самом деле является причиной аварии в психиатрической больнице. Но я не могу избавиться от него, путь на самом деле выглядит хорошо для меня, и РВМ является в первую очередь при подключении через SSH и проверить его:
$ echo $PATH
/home/lifecoder/.rvm/gems/ruby-1.9.3-p448/bin:/home/lifecoder/.rvm/gems/[email protected]/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, поэтому я, вероятно, что-то пропустил, но не могу найти, что именно.
Я знаю, что он, вероятно, исправляется с помощью изменения кода анализатора YAML или удалением файла YAML где-то, поэтому Psych не запускается, но я бы предпочел исправить эту проблему правильно.
UPD1: У меня есть крючок с «использованием rvm» в скрипте Capistrano, и он возвращает меня «RVM не является функцией». Кажется, он не загружает скрипты bashrc/other init.
UPD2: Да, он не загружает bash, но когда я включаю bash, он становится еще хуже. В качестве временного решения я отключил capistrano/активы. Кажется, все, что мне нужно, - это стереть скопированный скрипт capistrano и переписать его с нуля.