Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从Jekyll watch中排除目录_Jekyll - Fatal编程技术网

从Jekyll watch中排除目录

从Jekyll watch中排除目录,jekyll,Jekyll,我正在使用Jekyll3.1.1来生成一个博客,最近我引入了一个Git钩子来自动发布推送前的更改 引入此钩子后,我在运行jekyllservice时开始出现以下错误: Configuration file: /Users/egillespie/Projects/blog.givingjar.org/_config.yml Source: /Users/egillespie/Projects/blog.givingjar.org Destination: /U

我正在使用Jekyll3.1.1来生成一个博客,最近我引入了一个Git钩子来自动发布推送前的更改

引入此钩子后,我在运行
jekyllservice
时开始出现以下错误:

Configuration file: /Users/egillespie/Projects/blog.givingjar.org/_config.yml
            Source: /Users/egillespie/Projects/blog.givingjar.org
       Destination: /Users/egillespie/Projects/blog.givingjar.org/_site
 Incremental build: disabled. Enable with --incremental
      Generating... 
                    done in 0.223 seconds.
        ** ERROR: directory is already being watched! **

        Directory: /Users/egillespie/Projects/blog.givingjar.org/node_modules/git-scripts/bin/hooks

        is already being watched through: /Users/egillespie/Projects/blog.givingjar.org/node_modules/git-scripts/bin/hooks

        MORE INFO: https://github.com/guard/listen/wiki/Duplicate-directory-errors
 Auto-regeneration: enabled for '/Users/egillespie/Projects/blog.givingjar.org'
Configuration file: /Users/egillespie/Projects/blog.givingjar.org/_config.yml
    Server address: http://127.0.0.1:4000/
  Server running... press ctrl-c to stop.
奇怪的是,我将
\u config.yml
中的
节点模块排除在外:

exclude:
  - Gemfile
  - Gemfile.lock
  - LICENSE
  - README.md
  - package.json
  - Gruntfile.js
  - node_modules
节点模块
被正确地排除在建筑之外(即
站点
中没有
节点模块
子目录)

我还排除了
.gitignore
中的
节点\u模块

# project
node_modules
_site*
.sass-cache
.jekyll-metadata

# general
.DS_Store
Thumbs.db
ehthumbs.db
基于并且似乎应该将
节点单元模块
从手表中排除,但事实并非如此。如果有其他方法可以从手表中排除文件,我无法从文档中解读


从监视中排除目录并避免上述错误的正确方法是什么?

在_config.yml中排除参数的值应为数组,即

exclude: ['_site', 'node_modules', ...]

来源:

请将此信息发送到您的
\u config.yml

keep_files: [node]

其中,
节点
是要从
--watch
中排除的文件夹。这样做的目的是保留文件夹
节点
。然后在站点
root
中添加所有要保留但不是由Jekyll呈现的文件。

我使用的语法是在YAML中创建数组的另一种方法。不过,我确实试过你的方法,但我仍然会出错。我发现这是一个有效的解决方案。看看这是否适合你。谢谢你指出这个解决方法,贾伯伦。不幸的是,在我的例子中,它并没有消除错误。同样的问题,但这没有帮助。我添加了
node\u模块
,但我仍然得到错误。文档建议
保留文件
告诉Jekyll将文件单独留在
站点
中。不幸的是,
node\u modules
是我项目的基础,node没有提供一种方法来改变这一点。我确实试着将
。/node\u模块
传递到
保存文件
,看看我是否能欺骗杰基尔,但也没用。嗯。。。尝试
exclude:[node\u modules,Gemfile等]
并查看其运行情况。。。如果不起作用,并且这里的答案都不起作用,您可以尝试继续提问。我尝试了
排除:[node\u modules,Gemfile,etc]
,也没有用。我会查一下杰基尔的谈话,然后回来汇报。谢谢。请尝试将这一行添加到文件
.gitignore
node\u modules
wow。这真是太奇怪了!最好试试杰基尔谈话。问一下帕克-他是那里的“老板”!你的问题解决了吗?如果没有,你能展示更多关于钩子本身的信息吗?你解决过这个问题吗?一年后,我还在为同样的手表问题而挣扎…@RossR我一直无法解决这个问题。我迁移到Netlify,这样我就不再需要Git钩子了,它解决了导致这个问题的场景。我猜:我有一些符号链接,Jekyll Watch会导入符号链接的父项(可能是为了提高效率)。无论如何,我删除了符号链接并解决了问题。