Grunt --force 因节点失败:错误选项
Posted
技术标签:
【中文标题】Grunt --force 因节点失败:错误选项【英文标题】:Grunt --force fails with node: bad option 【发布时间】:2018-09-03 13:01:16 【问题描述】:我有一个名为 eslint:jenkins
的 Grunt 任务,它在项目上运行 eslint。在构建管道中,我将其运行为:
grunt eslint:jenkins --force --verbose
我使用--force,所以即使任务失败,grunt 也不会失败,因为存在一些 eslint 问题。
当我在本地运行它时,一切都很好。当它在 Jenkins 上运行时,我收到以下错误:
<path-to-installation>/Node_10/bin/node: bad option: --force
对于本地和 Jenkins 环境,版本是:Node 10.0 和 grunt-cli 1.3.1。
我无法想象为什么在一种情况下--force
标志会传播到 Node.js。谁能给我一些关于在哪里看的指示?
【问题讨论】:
【参考方案1】:节点 10 和带参数的 gulp 任务存在相同问题。
./node_modules/.bin/gulp tasks:my-task --myoption=value
[16:14:24] Node flags detected: --myoption=value
[16:14:24] Respawned to PID: 21231
节点 8 没有问题。没有尝试使用节点 9。一定是某个地方发生了重大变化,但我可以在这个问题和 https://github.com/gulpjs/gulp/issues/1564 旁边找到任何相关信息
【讨论】:
【参考方案2】:sudo npm install grunt-cli -g
应该输出类似:
/usr/local/bin/grunt -> /usr/local/lib/node_modules/grunt-cli/bin/grunt
+ grunt-cli@1.3.2
updated 2 packages in 3.056s
那么grunt --force
应该适合你。
(在 macOS Mojave 上测试)
【讨论】:
是的,在 1.3.2 中已修复 :)【参考方案3】:尝试使用 grunt tasks:my-task -myoption=value,它对我有用。
【讨论】:
以上是关于Grunt --force 因节点失败:错误选项的主要内容,如果未能解决你的问题,请参考以下文章
npm install vercel 因错误的节点版本而失败,尽管它是正确的
Bootstrap 导出选项适用于 5,000 行,但因网络故障导致 16,000 行失败
“错误:Grunt :: 在 127.0.0.1 上启动检查器:xxxx 失败:地址已在使用中”