17

运行其他工作命令:

jekyll serve --watch

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

web: jekyll serve --watch
4

5 回答 5

26

它在最新的预发行版中实现(在撰写本文时为 jekyll 2.0.0.alpha.3)。

您应该使用--force_polling选项来从中受益。

尝试像这样运行 jekyll 服务器:

jekyll serve --watch --force_polling
于 2014-04-15T13:09:03.273 回答
4

我的猜测是,根据我自己对这个问题的经验,您正在将jekyll站点运行在/vagrantvagrant 映射/同步回主机操作系统的文件夹中。

这些映射或同步的文件夹正在使用某种疯狂的文件系统驱动程序(基本上是一种网络共享),并且文件监视功能不适用于它们。

这个 SO question显示了相同的症状。

(你会明白我的意思是你在主文件夹中的 /vagrant 之外运行你的 jekyll 站点。进行更改(使用 nano),你将看到 Regeneration 触发)

于 2013-11-29T21:32:16.007 回答
3

您使用的是什么提供商?我能够使用 Virtual Box 作为提供程序并使用 Ubuntu 12.04 作为来宾操作系统,使其在 Windows 8 上运行。但是,我必须使用 1.2.1 版本而不是最新版本。

当我使用最新的 Jekyll 版本 (1.4.2) 时,手表无法按预期工作(它不会注意到文件更改并且不会重建)。当我在来宾操作系统上编辑它们时它确实有效(它确实注意到文件更改并将重建)。

1.2.1 版无论文件是从哪里编辑的(来宾操作系统或主机操作系统)都可以工作。

为了恢复到 1.2.1 版本,我运行了以下命令:

gem uninstall jekyll
gem install jekyll -v 1.2.1

注意:jekyll 站点是从 vagrant 目录运行的

于 2014-02-16T16:46:13.687 回答
1

在 vagrant 中,只需添加 --force_polling,然后 jekyll 将监视除“_config.yml”之外的几乎所有文件

jekyll serve --force_polling

当您更改“_config.yml”以外的其他文件时,您将看到重新生成。

但是,如果您更改“_config.yml”,它不会触发重新生成。

更改“_config.yml”时是否排除再生?

于 2016-04-13T14:28:55.987 回答
-1

我的猜测(不知道细节)是你需要无头运行,如:

jekyll serve -w --detach

jekyll 文档中所述。如果不是这样,请更详细地描述该问题,正如我在评论中所问的那样。另外,您是否在 Vagrant 中使用任何类型的配置器,例如 shell、chef、ansible 等?

于 2013-11-07T08:29:54.857 回答