不确定这是否是一个错误,但我无法在网上找到任何东西。使用 Grunt、Jekyll 和 Homebrew 的组合来创建我的网站,一切正常。但是一旦我更新到 High Sierra,Jekyll 构建就会失败。
我通常运行 Jekyll build 的方式是通过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,我运行的所有其他东西都有效。
我也尝试在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
我意识到,我的设置可能不是最好的,但它正在工作,所以我希望得到一些指导。我不是最初创建这个设置的人,我不是程序员,而是一个网页设计师,他有时可以把东西拼凑在一起,对我自己不利:)