Что делать? `Nanoc Compile` работает правильно.`bundle exec nanoc compile` не - PullRequest
0 голосов
/ 08 ноября 2011

Когда я запускаю nanoc compile, на моем сайте Nanoc все строится. Когда я запускаю bundle exec nanoc compile, я получаю это сообщение об ошибке:

  RuntimeError: Error processing : /markup/post/
  undefined method `gsub!' for 2008-01-28 15:44:48 -0500:Time

  === COMPILATION STACK:

  (empty)

  === BACKTRACE:

  0. ./Rules:50:in `rescue in block in load'
  1. ./Rules:43:in `block in load'
  2. /Users/mike/.gem/gems/nanoc3-3.2.3/lib/nanoc3/base/compilation/rule.rb:68:in `instance_eval'
  3. /Users/mike/.gem/gems/nanoc3-3.2.3/lib/nanoc3/base/compilation/rule.rb:68:in `apply_to'
  4. /Users/mike/.gem/gems/nanoc3-3.2.3/lib/nanoc3/base/compilation/compiler.rb:377:in `compile_rep'
  5. /Users/mike/.gem/gems/nanoc3-3.2.3/lib/nanoc3/base/compilation/compiler.rb:333:in `block in compile_reps'
  6. /Users/mike/.gem/gems/nanoc3-3.2.3/lib/nanoc3/base/compilation/compiler.rb:326:in `loop'
  7. /Users/mike/.gem/gems/nanoc3-3.2.3/lib/nanoc3/base/compilation/compiler.rb:326:in `compile_reps'
  8. /Users/mike/.gem/gems/nanoc3-3.2.3/lib/nanoc3/base/compilation/compiler.rb:85:in `run'
  9. /Users/mike/.gem/gems/nanoc3-3.2.3/lib/nanoc3/base/source_data/site.rb:57:in `compile'
  10. /Users/mike/.gem/gems/nanoc3-3.2.3/lib/nanoc3/cli/commands/compile.rb:61:in `run'
  11. /Users/mike/.gem/gems/nanoc3-3.2.3/lib/nanoc3/cli/command.rb:51:in `block in call'
  12. /Users/mike/.gem/gems/nanoc3-3.2.3/lib/nanoc3/cli/error_handler.rb:42:in `handle_while'
  13. /Users/mike/.gem/gems/nanoc3-3.2.3/lib/nanoc3/cli/error_handler.rb:23:in `handle_while'
  14. /Users/mike/.gem/gems/nanoc3-3.2.3/lib/nanoc3/cli/command.rb:50:in `call'
  15. /Users/mike/.gem/gems/nanoc3-3.2.3/lib/nanoc3/cli/command.rb:43:in `call'
  16. /Users/mike/.gem/gems/nanoc3-3.2.3/lib/nanoc3/cli/commands/compile.rb:24:in `block in define'
  17. /Users/mike/.gem/gems/cri-2.0.2/lib/cri/command.rb:255:in `call'
  18. /Users/mike/.gem/gems/cri-2.0.2/lib/cri/command.rb:255:in `run'
  19. /Users/mike/.gem/gems/cri-2.0.2/lib/cri/command.rb:272:in `run'
  20. /Users/mike/.gem/gems/nanoc3-3.2.3/lib/nanoc3/cli.rb:40:in `block in run'
  21. /Users/mike/.gem/gems/nanoc3-3.2.3/lib/nanoc3/cli/error_handler.rb:42:in `handle_while'
  22. /Users/mike/.gem/gems/nanoc3-3.2.3/lib/nanoc3/cli/error_handler.rb:23:in `handle_while'
  23. /Users/mike/.gem/gems/nanoc3-3.2.3/lib/nanoc3/cli.rb:37:in `run'
  24. /Users/mike/.gem/gems/nanoc3-3.2.3/bin/nanoc3:12:in `<top (required)>'
  25. /Users/mike/.gem/bin/nanoc3:19:in `load'
  26. /Users/mike/.gem/bin/nanoc3:19:in `<main>'

Я запускаю rm -rf ~/.gem и bundle update, чтобы получить чистый набор драгоценных камней. Я все еще получаю те же различия в исходе.

Что я могу сделать? Я предполагаю, что это проблема с гемом / компоновщиком?

UPDATE

Обе версии nanoc, насколько я вижу, идентичны. И все же у меня такое же поведение.

.bioinformatics-zen (develop:-*--) : nanoc --version
nanoc 3.2.3 (c) 2007-2011 Denis Defreyne.
Running ruby 1.9.2 (2011-07-09) on x86_64-darwin10.8.0 with RubyGems 1.8.11

.bioinformatics-zen (develop:-*--) : bundle exec nanoc --version
nanoc 3.2.3 (c) 2007-2011 Denis Defreyne.
Running ruby 1.9.2 (2011-07-09) on x86_64-darwin10.8.0 with RubyGems 1.8.11

Ответы [ 2 ]

1 голос
/ 03 января 2012

Изменен синтаксический анализатор YAML по умолчанию. Новый, Псих, не разбирает вещи так же, как старый, Сик. Вы можете исправить это, используя старый парсер:

YAML :: ENGINE.yamler = 'syck'

0 голосов
/ 08 ноября 2011

Это не проблема gem / bundler, а скорее проблема с различным поведением в разных версиях nanoc.Что возвращают следующие команды?

nanoc --version
bundle exec nanoc --version

Ошибка, с которой вы знакомы мне, но не должна появляться в последних версиях nanoc (была исправлена ​​довольно давно, поэтому я представляю, что Gemfileсодержит старую версию nanoc.)

HTH,

Denis

...