我刚刚重新安装了整个系统,并再次开始处理我的项目。我使用了Jekyll,但仍然使用--auto
或_config.yml
的{{1}}自动生成问题。它根本不起作用。 auto: true
的输出为:
jekyll --server --auto
Configuration from /home/rafal/Documents/Projects/ruby-adventure/_config.yml
Auto-regenerating enabled: /home/rafal/Documents/Projects/ruby-adventure -> /home/rafal/Documents/Projects/ruby-adventure/_site
[2013-03-23 19:09:53] regeneration: 1 files changed
[2013-03-23 19:09:53] INFO WEBrick 1.3.1
[2013-03-23 19:09:53] INFO ruby 2.0.0 (2013-02-24) [x86_64-linux]
[2013-03-23 19:09:53] WARN TCPServer Error: Address already in use - bind(2)
[2013-03-23 19:09:53] INFO WEBrick::HTTPServer#start: pid=3288 port=4000
[2013-03-23 19:09:53] regeneration: 1 files changed
[2013-03-23 19:09:54] regeneration: 1 files changed
[2013-03-23 19:09:54] regeneration: 1 files changed
[2013-03-23 19:09:54] regeneration: 1 files changed
[2013-03-23 19:09:54] regeneration: 1 files changed
[2013-03-23 19:09:54] regeneration: 1 files changed
[2013-03-23 19:09:54] regeneration: 1 files changed
的输出是:
jekyll --no-auto --server
...所以不会弹出错误。该网站生成正常,但是当我更改文件时,它不会自动重新生成。有什么想法吗?
答案 0 :(得分:43)
似乎是由最近对directory_watcher gem的更改引起的。滚动宝石回来为我解决了这个问题:
sudo gem uninstall directory_watcher && sudo gem install directory_watcher -v 1.4.1
答案 1 :(得分:3)
我能够通过按照@lilakai硬锁定directory_watcher gem来解决这个问题,但我采取了不同的方式:
将此行添加到我的gemfile(在开发组中):
gem 'directory_watcher', '1.4'
跑了:
bundle update directory_watcher
我执行此操作后一切正常(因为它将我的版本锁定为1.4,我通过Gemfile.lock确认)。我更喜欢直接通过bundler来管理我的所有宝石,而不是通过系统ruby。
我在本帖时使用最新版本的Octopress(https://github.com/imathis/octopress)遇到了这个问题。