Назад | Перейти на главную страницу

Почему Ruby не распознает Haml в ubuntu64 при использовании генератора статических блогов jekyll?

Я пытался, но безуспешно, запустить вилку Генрика Джекилл генератор статических блогов на 64-битной Ubuntu. Я просто не могу понять этого, и я перепробовал кучу разных вещей. Первоначально я разместил это на stackoverflow, но, вероятно, это лучшее место для этого.

Базовая статистика моей машины: Ubuntu 9.04, 64 бит, ruby ​​1.8.7 (2008-08-11 patchlevel 72) [x86_64-linux], rubygems 1.3.1.

Когда я пытаюсь создать сайт, происходит следующее:

$ jekyll --pygments  
Configuration from ./_config.yml  
Using Sass for CSS generation  
You must have the haml gem installed first  
Using rdiscount for Markdown  
Building site: . -> ./_site  
/home/chris/.gem/gems/henrik-jekyll-0.5.2/bin/../lib/jekyll/core_ext.rb:27:in  `method_missing': undefined method 'header' for #,  page=#  
..... cut .....  
(NoMethodError)
  from (haml):9:in `render'
  from /home/chris/.gem/gems/haml-2.2.3/lib/haml/engine.rb:167:in 'render'  
  from /home/chris/.gem/gems/haml-2.2.3/lib/haml/engine.rb:167:in 'instance_eval'  
  from /home/chris/.gem/gems/haml-2.2.3/lib/haml/engine.rb:167:in 'render'  
  from /home/chris/.gem/gems/henrik-jekyll-0.5.2/bin/../lib/jekyll/convertible.rb:72:in 'render_haml_in_context'  
  from /home/chris/.gem/gems/henrik-jekyll-0.5.2/bin/../lib/jekyll/convertible.rb:105:in 'do_layout'  
  from /home/chris/.gem/gems/henrik-jekyll-0.5.2/bin/../lib/jekyll/post.rb:226:in 'render'  
  from /home/chris/.gem/gems/henrik-jekyll-0.5.2/bin/../lib/jekyll/site.rb:172:in 'read_posts'  
  from /home/chris/.gem/gems/henrik-jekyll-0.5.2/bin/../lib/jekyll/site.rb:171:in 'each'  
  from /home/chris/.gem/gems/henrik-jekyll-0.5.2/bin/../lib/jekyll/site.rb:171:in 'read_posts'  
  from /home/chris/.gem/gems/henrik-jekyll-0.5.2/bin/../lib/jekyll/site.rb:210:in 'transform_pages'  
  from /home/chris/.gem/gems/henrik-jekyll-0.5.2/bin/../lib/jekyll/site.rb:126:in 'process'  
  from /home/chris/.gem/gems/henrik-jekyll-0.5.2/bin/jekyll:135  
  from /home/chris/.gem/bin/jekyll:19:in `load'  
  from /home/chris/.gem/bin/jekyll:19

Я добавил пробелы слева от ClosedStruct, чтобы улучшить видимость - извините, что мой встроенный html / форматирование не идеально. Я также вырезал средний текст, это просто данные.

$ gem list

*** LOCAL GEMS ***

actionmailer (2.3.4)
actionpack (2.3.4)
activerecord (2.3.4)
activeresource (2.3.4)
activesupport (2.3.4)
classifier (1.3.1)
directory_watcher (1.2.0)
haml (2.2.3)
haml-edge (2.3.27)
henrik-jekyll (0.5.2)
liquid (2.0.0)
maruku (0.6.0)
open4 (0.9.6)
rack (1.0.0)
rails (2.3.4)
rake (0.8.7)
rdiscount (1.3.5)
RedCloth (4.2.2)
stemmer (1.0.1)
syntax (1.0.0)

Некоторые показы для проверки пути:

$ echo $PATH
/home/chris/.gem/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games

$ which haml  
/home/chris/.gem/bin/haml  
$ which jekyll  
/home/chris/.gem/bin/jekyll  

Вы вызываете в своем шаблоне что-то под названием «header», которое не соответствует доступному методу. Исправьте свой шаблон, и все будет хорошо.