1

当我运行jekyll watchJekyll 时会检测到一个更改,然后将停止检测任何进一步的更改。通过按 Ctrl+C 取消后,我得到以下输出:

E, [2015-07-23T15:38:41.307871 #1094] ERROR -- : Actor crashed!
Celluloid::DeadActorError: attempted to call a dead actor
    /Library/Ruby/Gems/2.0.0/gems/celluloid-0.16.0/lib/celluloid/responses.rb:29:in value'
    /Library/Ruby/Gems/2.0.0/gems/celluloid-0.16.0/lib/celluloid/calls.rb:92:in value'
    /Library/Ruby/Gems/2.0.0/gems/celluloid-0.16.0/lib/celluloid/proxies/sync_proxy.rb:33:in method_missing'
    /Library/Ruby/Gems/2.0.0/gems/listen-2.10.1/lib/listen/file.rb:9:in change'
    /Library/Ruby/Gems/2.0.0/gems/listen-2.10.1/lib/listen/change.rb:40:in change'
    /Library/Ruby/Gems/2.0.0/gems/celluloid-0.16.0/lib/celluloid/calls.rb:26:in public_send'
    /Library/Ruby/Gems/2.0.0/gems/celluloid-0.16.0/lib/celluloid/calls.rb:26:in dispatch'
    /Library/Ruby/Gems/2.0.0/gems/celluloid-0.16.0/lib/celluloid/calls.rb:63:in dispatch'
    /Library/Ruby/Gems/2.0.0/gems/celluloid-0.16.0/lib/celluloid/cell.rb:60:in block in invoke'
    /Library/Ruby/Gems/2.0.0/gems/celluloid-0.16.0/lib/celluloid/cell.rb:71:in block in task'
    /Library/Ruby/Gems/2.0.0/gems/celluloid-0.16.0/lib/celluloid/actor.rb:357:in block in task'
    /Library/Ruby/Gems/2.0.0/gems/celluloid-0.16.0/lib/celluloid/tasks.rb:57:in block in initialize'
    /Library/Ruby/Gems/2.0.0/gems/celluloid-0.16.0/lib/celluloid/tasks/task_fiber.rb:15:in block in create'

我对 Ruby 不是很熟悉,但看起来赛璐珞出了点问题。我尝试重新安装 Jekyll,甚至尝试从系统中擦除所有 gem 并重新安装所有这些都无济于事。任何建议将不胜感激。

4

1 回答 1

1
  1. 更新到0.17.0或更高版本Celluloid
  2. 运行一次后重新应用您的手表,看看是否可以解决问题。
  3. DeadActorError可以通过#1 解决,或者是关机的副作用。
  4. 试试 Rubinius 或 jRuby。
于 2015-08-21T16:31:28.580 回答