运行其他工作命令:
jekyll serve --watch
除非我重新启动jekyll服务器,否则Vagrant内部不会导致文件重新生成。我正在Windows上编辑。这是Jekyll在Vagrant中运行的问题,还是我需要做一些配置才能使其工作?我甚至尝试使用具有以下Procfile配置的foreman但具有相同的结果
web: jekyll serve --watch
答案 0 :(得分:26)
它是在最新的预发行版中实现的(截至撰写本文时为jekyll 2.0.0.alpha.3)。
您应该使用 - force_polling 选项来获取它。
尝试像这样运行jekyll服务器:
jekyll serve --watch --force_polling
答案 1 :(得分:4)
我的猜测,基于我自己对此问题的经验,您在jekyll
文件夹中运行/vagrant
网站,该文件夹将vagrant地图/同步回到主机操作系统。
这些映射或同步的文件夹使用某种疯狂的文件系统驱动程序(基本上是一种网络共享),文件监视功能不适用于它们。
This SO question显示相同的症状。
(你会看到我的意思是你在主页文件夹中运行你的jekyll网站`/ vagrant'。做一个改变(使用nano),你会看到Regeneration触发)
答案 2 :(得分:3)
您使用的是什么提供商?我能够使用Virtual Box作为提供程序并将Ubuntu 12.04作为来宾操作系统在Windows 8上运行。我不得不使用版本1.2.1而不是最新版本。
当我使用最新的Jekyll版本(1.4.2)时,手表无法按预期工作(它不会注意到文件更改并且不会重建)。它在我在客户操作系统上编辑时确实有效(它确实注意到文件更改并将重建)。
版本1.2.1无论编辑文件的位置如何(Guest OS或Host OS)都可以使用。
要恢复到版本1.2.1,我运行了以下命令:
gem uninstall jekyll
gem install jekyll -v 1.2.1
注意:jekyll站点正在从vagrant目录
运行答案 3 :(得分:1)
在vagrant中,只需添加--force_polling,然后jekyll将会观看几乎所有文件,除了" _config.yml"
jekyll serve --force_polling
当您更改除" _config.yml"以外的其他文件时,您将看到重新生成。
但如果你要改变" _config.yml"它不会触发再生。
当你改变" _config.yml"
时,你是否除了再生?答案 4 :(得分:-1)
我的猜测(不知道细节)是你需要无头跑,如:
jekyll serve -w --detach
如jekyll documentation中所述。如果不是这样,那么就像我在评论中提到的那样更详细地描述问题。另外,您是否在Vagrant中使用任何类型的配置器,例如shell,chef,ansible等?