2012-05-02 34 views
5

Khi tôi thực hiện một lỗi cú pháp trong các vấn đề trước tôi nhận được lỗi sau:jekyll có vấn đề về mặt trước bị hỏng, cách tìm tệp bị hỏng?

/.../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 .... 

Bạn có biết cách nào để nói những gì tập tin gây ra vấn đề?

tôi biết rằng tôi có thể có thể sử dụng DTrace như sau:

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

Nhưng tôi đang tìm kiếm một cái gì đó hơn thẳng về phía trước.

+1

Bạn đang sử dụng phiên bản jekyll nào? Trong 0.11.0 tôi nhận được một cái gì đó giống như 'YAML Ngoại lệ đọc 2012-04-29-a-new-post.md: lỗi cú pháp trên dòng 3, col -1:' nếu tôi có xấu YAML. –

+0

@Alan, tôi sử dụng cùng một phiên bản của jekyll tuy nhiên, nhưng có lẽ vấn đề nằm trong bộ phân tích cú pháp yaml mới của tôi, tôi sử dụng 1.9.3. Cảm ơn bạn đã giúp đỡ. –

+2

Tôi gặp vấn đề này, sau đó tôi nhận ra rằng tệp database.yml của tôi không đúng. (Tôi rời khỏi một không gian sau khi một ':') Tôi cố định điều đó và tôi đã vượt qua lỗi đó. –

Trả lời

4

đường nối jekyll không hoạt động tốt trên ruby ​​1.9.3. Một trình phân tích cú pháp yaml hạn chế hơn đã được giới thiệu: Tâm lý có thể có phân cấp ngoại lệ khác nhau và ở đó cho nó không được xử lý đúng bởi jekyll.

3

Bạn có thể thấy rằng đây là do định dạng sai

Nếu vấn đề phía trước của bạn trông như thế này:

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

thay vì

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

sau đó phân tích cú pháp YAML sẽ ném nó ra.

+1

Có trong trường hợp của tôi, tệp yml đang tải trong môi trường.rb. Vì vậy, tôi đã nhận được lỗi này. Giải quyết bằng cách sửa tập tin yml. – Hardik