我正在使用Jekyll 3.1.1生成博客,最近我推出了一个Git钩子,可以在推送前自动发布更改。
引入此挂钩后,我在运行jekyll serve
时发现了以下错误:
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.
我在node_modules
中排除_config.yml
的特殊情况是什么:
exclude:
- Gemfile
- Gemfile.lock
- LICENSE
- README.md
- package.json
- Gruntfile.js
- node_modules
node_modules
被正确排除在构建之外(即node_modules
中没有_site
子目录。
我也在node_modules
中排除.gitignore
:
# project
node_modules
_site*
.sass-cache
.jekyll-metadata
# general
.DS_Store
Thumbs.db
ehthumbs.db
基于this GitHub issue和this commit似乎node_modules
似乎应从手表中排除,但事实并非如此。如果有另一种方法可以从手表中排除文件,我无法从文档中解读。
从手表中排除目录并避免上述错误的正确方法是什么?
答案 0 :(得分:1)
_config.yml中exclude参数的值应该是一个数组,即
exclude: ['_site', 'node_modules', ...]
答案 1 :(得分:0)
试试这个Tr
:
_config.yml
其中keep_files: [node]
是要从node
中排除的文件夹。这样做会保留文件夹--watch
untouched by jekyll build
。然后添加您要保留在网站node
中但未由Jekyll呈现的所有文件。