/home/wumo/.rvm/rubies/ruby-2.1.5/lib/ruby/2.1.0/psych.rb:370:in `parse': (<unknown>): could not find expected ':' while scanning a simple key at line 29 column 1 (Psych::SyntaxError)
from /home/wumo/.rvm/rubies/ruby-2.1.5/lib/ruby/2.1.0/psych.rb:370:in `parse_stream'
from /home/wumo/.rvm/rubies/ruby-2.1.5/lib/ruby/2.1.0/psych.rb:318:in `parse'
from /home/wumo/.rvm/rubies/ruby-2.1.5/lib/ruby/2.1.0/psych.rb:245:in `load'
这是执行项目的一个任务时报的错
直接定位 psych.rb 的 370 行
def self.parse_stream yaml, filename = nil, &block
if block_given?
parser = Psych::Parser.new(Handlers::DocumentStream.new(&block))
parser.parse yaml, filename
else
parser = self.parser
parser.parse yaml, filename
parser.handler.root
end
end
在这个方法里添加了两行代码打印 yaml 和 filename 两个参数
def self.parse_stream yaml, filename = nil, &block
p "yaml: #{yaml}"
p "filename:#{filename}"
if block_given?
查看输出结果后发现是为 wumomq(我们自己写的一个 gem) 写的配置文件有问题。 最后发现出问题的配置代码是我从同事 qq 发送过来的记录中复制的代码有问题 (该问题无法通过 Sublime 看出),在 vim 中看到出问题的配置代码无法高亮让我们知道了问题的所在。重新手动重写一次配置后,问题解决。