2010-10-19 24 views
30

Tengo problemas tirando de un archivo YAML de configuración:¿Cómo valido mi archivo YAML desde la línea de comandos?

Fatal error: while parsing a block mapping; expected <block end>, but found BlockEntry

bien hay un montón de validadores YAML en línea, que he tratado y he ayudado, me gustaría para validar mis archivos YAML desde la línea de comandos e integrar esto en mi canal de integración continua.

¿Cómo puedo validar la sintaxis de un archivo YAML en la línea de comandos?

+3

Probar: 'Travis pelusa .travis.yml' – kenorb

+0

' python -c "de carga tanto de importación yaml, cargador; carga (abierta ('travis.yml.'), Cargador cargador =)" ' – Natim

+0

sudo pip instalar PyYAML se asegurar que un módulo esté cargado. – cgseller

Respuesta

10

Teniendo en cuenta que usted tiene una Perl instalar en el servidor que se está trabajando, y tiene algunas de las herramientas básicas YAML, puede utilizar ...

perl -MYAML -e 'use YAML;YAML::LoadFile("./file.yaml")' 

Cabe señalar que esta voluntad ser estricto en su interpretación del archivo, pero útil.

+1

No se puede encontrar YAML.pm – Natim

+1

/usr/bin/perl -MCPAN -e 'install YAML' –

52

Con la instalación básica de Rubí esto debería funcionar

ruby -e "require 'yaml';puts YAML.load_file('./data.yaml')" 
+0

Si elimina 'puts y' del final de esto, entonces obtendrá un comportamiento más estándar de UNIX: si el archivo es válido, entonces no se imprimirá nada, y si no es válido, verá una excepción y un seguimiento de la pila. – bdesham

+0

... y si elimina 'puts y' también puede deshacerse de' y = '. – bdesham

+0

Gracias, eso es definitivamente mejor y más corto. – Tombart

-1

O instalada alternativamente (gratis) Eclipse IDE y luego YEdit editor de yaml y ver su yaml con resaltado de sintaxis, indicadores de error, y delinear puntos de vista. El costo de instalación de una sola vez funciona bastante bien para mí.

Cuestiones relacionadas