【问题标题】:Grunt --force fails with node: bad optionGrunt --force 因节点失败:错误选项
【发布时间】: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。谁能给我一些关于在哪里看的指示?

【问题讨论】:

    标签: node.js gruntjs


    【解决方案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,它对我有用。

      【讨论】:

        猜你喜欢
        • 2016-08-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-01-13
        • 1970-01-01
        • 1970-01-01
        • 2018-02-16
        • 2021-06-25
        相关资源
        最近更新 更多