Ho uno script di distribuzione Capistrano che hanno il lavoro per qualche tempo, ma ora butto tale errore sulla distribuzione:errore Psych sulla distribuzione 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'
...
Getta anche diversi avvertimenti durante la distribuzione:
** [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'.
Ho trovato un problema simile here e suppongo che questo avviso sia effettivamente la causa di Psych crash. Ma io non riesco a sbarazzarsi di esso, il percorso in realtà sembra buono per me, e rvm è in primo luogo quando mi collego via ssh e controllare:
$ 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
io non sono così esperto in * nix quindi probabilmente mi manca qualcosa - ma non riesco a trovare cosa esattamente.
So che è probabilmente risolvibile con il cambio del parser del parser YAML, o eliminando un file YAML da qualche parte in modo che Psych non si avvii, ma preferirei risolvere questo problema nel modo giusto.
UPD1: Ho aggiunto un hook con 'use rvm' nello script Capistrano e mi restituisce 'RVM non è una funzione'. Sembra che non carichi bashrc/altri script di init.
UPD2: Sì, non carica bash, ma quando abilito bash diventa ancora peggiore. Come soluzione temporanea ho disabilitato capistrano/assets. Sembra che tutto ciò di cui ho bisogno sia cancellare lo script capistrano incollato dalla copia e riscriverlo da zero.