콘텐츠로 이동

문제 해결

증상별 원인과 조치입니다.

설치·설정

증상 원인 조치
저장소 뿌리를 찾지 못했다 NOTIONML_STORE가 없거나 디렉터리가 아님 경로를 확인하고 export NOTIONML_STORE=…
nl: command not found 설치 경로가 PATH에 없음 uv tool dir --bin을 PATH에 추가하거나 notion-ml 사용
nl이 다른 프로그램을 실행함 셸 내장 명령과 이름 충돌 notion-ml을 사용

인증

증상 원인 조치
401 Unauthorized 토큰 없음·만료 토큰 파일 권한과 값을 확인하고 nl auth status notion
404 Could not find block 통합이 페이지에 초대되지 않음 페이지 ⋯ → 연결 → 통합 추가
body failed validation 요청 형식이 API 버전과 불일치 nl --version 확인 후 최신 도구로 갱신

비교·반영

증상 원인 조치
진행할 수 없다 — type_mismatch 같은 자리의 블록 종류가 다름 nl pull로 원격을 채택하거나, 로컬을 그 종류로 맞춤
<원격 우선>이 계속 나옴 사람이 노션에서 마지막으로 고침 nl pull <노트>#n 또는 nl keep <노트>#n
diff가 바뀌었다 add 이후 소스가 수정됨 nl diff로 다시 확인하고 nl add 재실행
다른 실행이 쓰는 중이다 다른 프로세스가 잠금 보유 끝난 뒤 다시 실행. 남아 있으면 records/.lock 확인
검증 실패 쓴 결과가 계획과 다름 출력된 스냅숏으로 되돌리고 원인 확인
거부(댓글 앵커) 그 블록·행에 댓글이 있음 노션에서 직접 수정하거나 댓글을 옮긴 뒤 재시도

표·그림

증상 원인 조치
table_width_changed 로컬 표의 열 수가 다름 노션 표를 같은 열 수로 맞추거나 표를 재작성
E-TYP-03 표의 칸 수가 머리행과 다르다 행마다 칸 수 불일치 빠진 칸을 채움
그림이 반영되지 않음 파일 업로드 미구현 원격 URL 그림을 쓰거나 업로드를 기다림

진단

python -m notionml.core lint <노트>   # 노트 자체 검사
nl config                             # 경로·설정 출처
nl auth status                        # 토큰 상태

저널과 스냅숏은 store/records/에 있습니다. apply-journal/*.json의 state가 verify_failed면 그 파일과 같은 시각의 스냅숏을 확인하십시오.