Jekyll再生在Vagrant中不起作用

时间:2013-11-06 20:38:29

标签: vagrant jekyll

运行其他工作命令:

jekyll serve --watch
除非我重新启动jekyll服务器,否则Vagrant内部不会导致文件重新生成。我正在Windows上编辑。这是Jekyll在Vagrant中运行的问题,还是我需要做一些配置才能使其工作?我甚至尝试使用具有以下Procfile配置的foreman但具有相同的结果

web: jekyll serve --watch

5 个答案:

答案 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等?