2012-05-02 4 views
5

내가 구문 오류가 서문에서 나는 다음과 같은 오류를 받고 있어요합니다깨진 앞부분과 지킬, 깨진 파일을 찾는 방법?

/.../psych.rb:203:in `parse': (<unknown>): could not find expected 
':' while scanning a simple key at line 6 column 1 
(Psych::SyntaxError) 
     from /.../psych.rb:203:in `parse_stream' 
     from /.../psych.rb:151:in `parse' 
      from .... 

당신이 문제의 원인을 파일 말할 수있는 방법을 알고 계십니까?

나는 다음과 같이 아마의 DTrace를 사용할 수 있다는 것을 알고 : 나는 곧장 앞으로 더 뭔가를 찾고 있어요

dtrace -n 'syscall::open*:entry { printf("%s %s",execname,copyinstr(arg0)); }'| grep _posts 

하지만.

+1

어떤 버전의 지킬을 사용하고 있습니까? 0.11.0에서'YAML Exception reading 2012-04-29-a-new-post.md : 3 행의 구문 오류, col -1 :'YAML이 나쁜 경우. –

+0

@Alan 그러나 나는 같은 버전의 jekyll을 사용하지만 ruby의 새로운 yaml 파서에 1.9.3을 사용하는 것이 문제 일 수 있습니다. 도와 줘서 고마워. –

+2

이 문제가 발생했다면 database.yml 파일이 정확하지 않다는 것을 깨달았습니다. (나는 ':'뒤에 공백을 두었습니다.) 나는 그것을 고쳤으며, 나는 그 오류를 지나쳤습니다. –

답변

4

루비 1.9.3에서는 jekyll이 잘 작동하지 않습니다. 보다 제한적인 yaml 파서가 소개되었습니다 : Psych은 아마도 다른 예외 계층 구조를 가지고있을 것이고 거기에는 지킬에 의해 적절히 처리되지 않습니다.

3

당신의 서문은 다음과 같이 보인다면 당신은 이것이 잘못된 형식

에 의해 발생되는 것을 알 수 있습니다 :

--- 
menu: 
- text: Home 
url: /en/index.html 
- text: Overview 
url: /en/overview.html 
--- 

대신

--- 
menu: 
- text: Home 
    url: /en/index.html 
- text: Overview 
    url: /en/overview.html 
--- 

다음 YAML 파서가 발생합니다 그것.

+1

예, 필자의 경우, yml 파일이 environment.rb에서로드되고있었습니다. 따라서 나는이 오류를 얻고 있었다. yml 파일을 수정하여 해결되었습니다. – Hardik