Park, Geon/(방법) Error building site: assemble: failed to unmarshal YAML: yaml: line 1: did not find expected key 해결

Created Tue, 30 Sep 2025 01:49:09 +0900 Modified Tue, 30 Sep 2025 01:50:18 +0900
807 Words

문제 요약

특정 마크다운 파일의 머리말(front matter) 형식 오류 때문에 Hugo 빌드가 실패하는 것 같아요. 🕵️‍♂️

스크린샷의 에러 메시지를 자세히 살펴보면 원인을 명확히 알 수 있습니다.

Error: Error building site: assemble: "...(방법) git 갱신 오류 해결 - 수정 파일이 git status에 반영 안 될 때.md:1:1": failed to unmarshal YAML
YAML Error: line 12: did not find expected key

🧐 문제 원인: YAML 형식 오류

이 에러는 Hugo가 블로그 글을 HTML로 변환하려고 할 때, 특정 파일의 YAML 머리말 부분을 제대로 읽지 못해서 발생한 거예요.

  • 오류 내용: 해당 파일의 머리말(으로 둘러싸인 부분) 12번째 줄에서 key: value 형식의 키(key)를 찾을 수 없다는 의미입니다. YAML은 들여쓰기나 콜론(:) 같은 문법에 매우 민감해서 작은 오타나 공백 문제로도 이런 에러가 발생할 수 있습니다.

🛠️ 해결 방법 (Obsidian에서)

  1. 에러 메시지에 명시된 아래 파일을 여세요.

  2. 비어 있는 필드를 확인하고 지우세요.

🛠️ 해결 방법 (Manually)

  1. 에러 메시지에 명시된 아래 파일을 여세요.

  2. 파일 상단의 사이, 즉 YAML 머리말 부분의 12번째 줄을 확인하세요.

  3. 아래와 같은 흔한 오류가 있는지 점검하고 수정해 주세요.

    • 들여쓰기(indentation)가 잘못된 경우: YAML에서는 2칸 또는 4칸 들여쓰기가 일관되게 사용되어야 합니다.

    • 콜론(:)이 빠진 경우: tags ["tag1", "tag2"] 처럼 콜론이 누락된 경우. tags: ["tag1", "tag2"]가 올바른 형식입니다.

    • 불필요한 하이픈(-)이 있는 경우: 리스트가 아닌 항목에 -가 사용된 경우.

    • 따옴표 문제: 문자열 내에 특수문자가 있을 경우 따옴표로 감싸줘야 할 수 있습니다.

예시 (잘못된 경우):

title: "Git 갱신 오류 해결"
date: 2025-09-30
tags:
  - git
  - troubleshooting
  - "오류 해결"
draft: false
categories
  - "Programming"  # < 예시: 12번째 줄에 콜론(:)이 없다고 가정

위 예시처럼 12번째 줄에 콜론이 빠졌다면 Hugo가 categories라는 키를 인식하지 못해 에러가 발생합니다. categories:로 수정하면 해결됩니다.

파일을 수정한 뒤 다시 deploy.ps1 스크립트를 실행하면 정상적으로 빌드될 가능성이 높습니다.