Errores de validación de YAML
Estos errores aparecen al validar o interpretar archivos de configuración YAML, sobre todo en el conversor y en Developer Mode.
Tipos de error
Indentación incorrecta
Mensaje: «El archivo tiene un error de formato: la indentación (los espacios al principio de la línea) es incorrecta.»
Causa: YAML usa espacios para la indentación, y tienen que ser consistentes.
Ejemplo incorrecto:
items:
my_item:
display_name: "Sword"
material: PAPER # Mal: la indentación no es consistenteCorregido:
items:
my_item:
display_name: "Sword"
material: PAPERRegla: usa 2 espacios por nivel de indentación. No mezcles nunca tabulaciones y espacios.
Final de archivo inesperado
Mensaje: «El archivo está incompleto. Verifica que todas las secciones estén bien cerradas.»
Causa: el archivo YAML está cortado o le faltan elementos de cierre.
Ejemplo incorrecto:
items:
my_item:
display_name: "Sword"
material:Corregido:
items:
my_item:
display_name: "Sword"
material: PAPERClave duplicada
Mensaje: «El archivo tiene claves duplicadas. Cada nombre de propiedad debe ser único dentro de su sección.»
Causa: la misma clave aparece dos veces en el mismo nivel.
Ejemplo incorrecto:
items:
my_item:
display_name: "Sword"
material: PAPER
display_name: "Better Sword" # DuplicadaCorregido:
items:
my_item:
display_name: "Better Sword"
material: PAPERCarácter inesperado
Mensaje: «El archivo tiene un carácter inesperado. Revisa la sintaxis del archivo.»
Causa: ha aparecido un carácter donde YAML no lo esperaba.
Causas habituales:
- Cadenas sin comillas que empiezan por un carácter especial (
{,[,*,&,!,%,@) - Falta los dos puntos después de una clave
- Falta el espacio después de los dos puntos
Ejemplo incorrecto:
items:
my_item:
display_name:Sword # Falta el espacio tras los dos puntosCorregido:
items:
my_item:
display_name: SwordTag inválido
Mensaje: «El archivo contiene un tag de YAML inválido.»
Causa: se ha usado un tag de YAML que no se reconoce (por ejemplo, !!python/object).
Solución: quita todos los tags de YAML que empiecen por !, salvo que tu plugin los necesite expresamente.
No se permiten valores de mapeo aquí
Mensaje: «El archivo tiene un error de estructura. Verifica que los valores estén bien asignados con ”:”.»
Causa: hay un valor donde se esperaba una clave de mapeo.
Ejemplo incorrecto:
items:
my_item:
display_name: "My Item"
material: PAPER # Nivel equivocado: debería estar dentro de my_itemCorregido:
items:
my_item:
display_name: "My Item"
material: PAPERPar clave-valor incompleto
Mensaje: «El archivo tiene una propiedad incompleta. Asegúrate de que cada clave tenga un valor asignado.»
Causa: hay una clave sin valor y YAML no puede deducir cuál debería ser.
Ejemplo incorrecto:
items:
my_item:
display_name:
material: PAPERCorregido:
items:
my_item:
display_name: "My Item"
material: PAPERCarácter de tabulación
Mensaje: «El archivo usa tabulaciones en lugar de espacios. YAML solo permite espacios para la indentación.»
Causa: se han usado tabulaciones (\t) para indentar.
Solución:
- Configura tu editor de texto para que use espacios en vez de tabulaciones
- En VS Code: Configuración > Editor: Insert Spaces = true, Tab Size = 2
- Usa el comando «Convertir indentación a espacios» de tu editor
Archivo vacío
Mensaje: «El archivo está vacío. Sube un archivo YAML con contenido válido.»
Solución: comprueba que el archivo que subes tiene contenido YAML de verdad y no es un archivo de 0 bytes.
Consejos para escribir YAML válido
- Usa siempre espacios (2 por nivel), nunca tabulaciones
- Pon entre comillas las cadenas que contengan caracteres especiales:
display_name: "Item: Special" - Valida antes de subir con el editor de Developer Mode, que te avisa en tiempo real
- Usa un editor que entienda YAML, como VS Code con la extensión de YAML