1

YAML をローカルで検証する良い方法はありますか? デプロイ時の本番環境で YAML の問題がいくつかあります。

https://gist.github.com/anonymous/78bed61832ff72ff3426

あまり有益ではありませんが、これが発生するファイルを知りたいです.yamlの問題のデバッグをもう少し改善することは可能ですか?

また、これが本番環境でのみ発生し、開発環境では発生しない理由もわかりません。

4

2 に答える 2

2

これを行うための rake タスクを作成することになりました: たとえば、/lib/yaml.rake として保存します (.rake ! ではなく .rb)。

namespace :yaml do

desc "Test YAML files"
task :check => :environment do
  require 'yaml'

  d = Dir["./**/*.yml"]
  d.each do |file|
    begin
      puts "checking : #{file}"
      f = YAML.load_file(file)
    rescue Exception
      puts "failed to read #{file}: #{$!}"
    end
  end
end
end
于 2013-09-27T10:05:13.627 に答える
0

私の経験からすると、YAML のバグを追跡するのは簡単ではありません。通常、 yamllintなどのオンライン ツールは、Psych が提供するものと同様のエラー メッセージを表示します。

私がアドバイスできる唯一のことは、ローカル/実稼働 YAML ファイルからの差分をチェックし、何が変更されたかを確認することです。

于 2013-09-25T19:57:03.803 に答える