在 ruby-2.2.2 上为 travis-ci 加密文件失败 "private method `load' called for Psych:Module"

Encrypting files for travis-ci on ruby-2.2.2 fails with "private method `load' called for Psych:Module"

我在为 Travis CI 加密我的 database.yml 时遇到问题。基于他们的 documentation, it appears you encrypt files with the travis encrypt-file command。我 运行正在 Ruby-2.2.2 上,它给了我一些非常神秘的错误消息。

travis encrypt-file config/database.yml --add

我得到这个错误:

private method `load' called for Psych:Module
for a full error report, run travis report

这是我 运行 travis report:

时的回溯
$ travis report 

/Users/William.Jeffries/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/travis-1.7.7/lib/travis/cli/api_command.rb:150:in `default_endpoint': undefined method `[]' for nil:NilClass (NoMethodError)
        from /Users/William.Jeffries/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/travis-1.7.7/lib/travis/cli/api_command.rb:154:in `detected_endpoint'
        from /Users/William.Jeffries/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/travis-1.7.7/lib/travis/cli/api_command.rb:70:in `detected_endpoint?'
        from /Users/William.Jeffries/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/travis-1.7.7/lib/travis/cli/api_command.rb:158:in `endpoint_option'
        from /Users/William.Jeffries/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/travis-1.7.7/lib/travis/cli/command.rb:213:in `rescue in execute'
        from /Users/William.Jeffries/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/travis-1.7.7/lib/travis/cli/command.rb:191:in `execute'
        from /Users/William.Jeffries/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/travis-1.7.7/lib/travis/cli.rb:64:in `run'
        from /Users/William.Jeffries/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/travis-1.7.7/bin/travis:18:in `<top (required)>'
        from /Users/William.Jeffries/.rbenv/versions/2.2.2/bin/travis:23:in `load'
        from /Users/William.Jeffries/.rbenv/versions/2.2.2/bin/travis:23:in `<main>'

解决方案是卸载 Psych 版本 2.0.13,我的机器上只有 2.0.5。我同时拥有 2.0.52.0.13,它们似乎相互冲突。我在 this forum post.

上找到了信息
gem update --system

在 Ubuntu 14.04 + RVM + Ruby 2.1.1p76 上为我解决了这个问题,如在:https://github.com/bbatsov/rubocop/issues/1510#issuecomment-102645627