问题
When I run jekyll watch
Jekyll will detect one change then will stop detecting any further changes. Upon canceling by hitting Ctrl+C, I get this output:
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'
I'm not really familiar with Ruby but it looks like something is going wrong with celluloid. I've tried reinstalling Jekyll and I've even tried wiping all gems from my system and reinstalling all of them to no avail. Any advice would be much appreciated.
回答1:
- Update to
0.17.0
or higher ofCelluloid
. - Re-apply your watch after it's run once and see if that resolves it.
- That
DeadActorError
is either solved by #1, or is a side-effect of shutdown. - Try Rubinius or jRuby.
来源:https://stackoverflow.com/questions/31596767/error-actor-crashed-celluloiddeadactorerror-attempted-to-call-a-dead-a