MacOS High Sierra 更新后 Jekyll 构建不工作
Jekyll Build Not Working after MacOS High Sierra Update
不确定这是否是一个错误,但我在网上找不到任何东西。使用 G运行t、Jekyll 和 Homebrew 的组合创建我的网站一切正常。但是一旦我更新到 High Sierra,Jekyll 构建就会失败。
我通常 运行 Jekyll 构建的方式是通过 grunt-shell
任务,如下所示:
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
shell: {
jekyllBuild: {
command: 'jekyll build'
}
},
connect: {
server: {
options: {
hostname: 'localhost',
port: 4000,
base: '_build'
}
}
},
...
watch: {
jekyll: {
options: {
livereload: true
},
files: [
'**/*.scss',
'**/*.html',
'**/*.js',
// The negations must go after
'!*node_modules/**',
'!*_build/**',
'*.md',
'*.yml',
'img/**',
],
tasks: ['shell:jekyllBuild','postcss']
}
}
});
...
grunt.registerTask('serve', ['shell','connect','watch']);
这给出了以下错误:
Running "shell:jekyllBuild" (shell) task
Configuration file: [URL]/_config.yml
Source: [URL]
Destination: _build
Incremental build: disabled. Enable with --incremental
Generating...
jekyll 3.6.0 | Error: negative argument
Warning: Command failed: jekyll build
Use --force to continue.
Aborted due to warnings.
除了 Jekyll,我 运行 的其他所有东西都可以。
我也试过 运行ning jekyll build
没有 shell 任务,但仍然出现错误:
jekyll 3.6.0 | Error: negative argument
Warning: Command failed: jekyll build
Use --force to continue.
Aborted due to warnings.
我正在使用 Homebrew 将内容保存在本地,所有内容似乎都在正确的位置:
~$ which jekyll
/usr/local/bin/jekyll
~$ which ruby
/usr/local/bin/ruby
~$ which grunt
[URL]/.npm-packages/bin/grunt
~$ which gem
/usr/local/bin/gem
~$ which node
/usr/local/bin/node
我知道,我的设置可能不是最好的,但它很有效,所以我希望得到一些指导。我不是最初创建此设置的人,我也不是程序员,而是一名网页设计师,他有时会把东西拼凑在一起对我自己造成损害:)
问题最终与 OS 更新无关,而是导致问题的自定义 Jekyll 插件。删除插件后,一切正常。然而,可能在 Jekyll 或其他地方确实发生了一些变化,使插件突然无法工作。我将打开一个单独的问题来解决这个问题。感谢@Casper 和@JoostS 的快速回复。
不确定这是否是一个错误,但我在网上找不到任何东西。使用 G运行t、Jekyll 和 Homebrew 的组合创建我的网站一切正常。但是一旦我更新到 High Sierra,Jekyll 构建就会失败。
我通常 运行 Jekyll 构建的方式是通过 grunt-shell
任务,如下所示:
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
shell: {
jekyllBuild: {
command: 'jekyll build'
}
},
connect: {
server: {
options: {
hostname: 'localhost',
port: 4000,
base: '_build'
}
}
},
...
watch: {
jekyll: {
options: {
livereload: true
},
files: [
'**/*.scss',
'**/*.html',
'**/*.js',
// The negations must go after
'!*node_modules/**',
'!*_build/**',
'*.md',
'*.yml',
'img/**',
],
tasks: ['shell:jekyllBuild','postcss']
}
}
});
...
grunt.registerTask('serve', ['shell','connect','watch']);
这给出了以下错误:
Running "shell:jekyllBuild" (shell) task
Configuration file: [URL]/_config.yml
Source: [URL]
Destination: _build
Incremental build: disabled. Enable with --incremental
Generating...
jekyll 3.6.0 | Error: negative argument
Warning: Command failed: jekyll build
Use --force to continue.
Aborted due to warnings.
除了 Jekyll,我 运行 的其他所有东西都可以。
我也试过 运行ning jekyll build
没有 shell 任务,但仍然出现错误:
jekyll 3.6.0 | Error: negative argument
Warning: Command failed: jekyll build
Use --force to continue.
Aborted due to warnings.
我正在使用 Homebrew 将内容保存在本地,所有内容似乎都在正确的位置:
~$ which jekyll
/usr/local/bin/jekyll
~$ which ruby
/usr/local/bin/ruby
~$ which grunt
[URL]/.npm-packages/bin/grunt
~$ which gem
/usr/local/bin/gem
~$ which node
/usr/local/bin/node
我知道,我的设置可能不是最好的,但它很有效,所以我希望得到一些指导。我不是最初创建此设置的人,我也不是程序员,而是一名网页设计师,他有时会把东西拼凑在一起对我自己造成损害:)
问题最终与 OS 更新无关,而是导致问题的自定义 Jekyll 插件。删除插件后,一切正常。然而,可能在 Jekyll 或其他地方确实发生了一些变化,使插件突然无法工作。我将打开一个单独的问题来解决这个问题。感谢@Casper 和@JoostS 的快速回复。