【问题标题】:Jenkins build fails when running nodeJS运行nodeJS时Jenkins构建失败
【发布时间】:2012-10-01 06:17:55
【问题描述】:

我在一台带有 NodeJS 插件的机器上设置了 Jenkins。可悲的是,每当我尝试在构建中使用该插件时,它都会失败:

[workspace] $ node /tmp/hudson3477900862350780409.js
FATAL: command execution failed
java.io.IOException: Cannot run program "node" (in directory          
"/var/lib/jenkins/jobs/XXX/workspace"): error=2, No such file or directory

当我以 jenkins 用户登录机器时,我可以通过命令行使用 node。我还在当前工作节点(只有一个:master)的配置屏幕中添加了节点(/opt/node-0.6.18/bin)的路径。

我已经坚持了一段时间,任何帮助将不胜感激。

干杯!

【问题讨论】:

  • 当你输入which node以jenkins用户登录机器时,你会得到什么?在 jenkins 任务中运行时,可能找不到节点二进制文件 PATH。我会尝试使用节点的完整路径(通常是/usr/local/bin/node 或其他东西),看看你是否看到同样的错误。
  • 我在使用该命令时得到 'usr/bin/node'。我考虑过使用完整路径,但我找不到任何可以为 nodeJS 插件配置的地方。我确实找到了现在将发布的解决方法。谢谢! :)

标签: node.js jenkins


【解决方案1】:

对于在 Docker 中运行的 Jenkins,请使用 jenkins/jenkins:latest image 来避免此问题。

【讨论】:

    【解决方案2】:

    我正在使用 NVM,但我遇到了同样的问题。一种解决方法是创建一个符号链接:

    ln -s /root/.nvm/versions/node/v8.11.3/bin/node /bin/node
    ln -s /root/.nvm/versions/node/v8.11.3/bin/npm /bin/npm
    

    【讨论】:

      【解决方案3】:

      这个错误是因为你没有在你的机器上安装node,安装之后,把它添加到PATH中,问题就可以解决了。 希望对您有所帮助。

      【讨论】:

        【解决方案4】:

        很简单,运行“执行 shell”构建任务时需要勾选“将 Node/npm bin 文件夹提供到 PATH”

        【讨论】:

        • 虽然在后来的 Jenkins 版本中...... - 是否有必要在 Jenkins 版本中做类似的事情。 2.190.1 ?如果是,我该怎么做?安装 NodeJS 插件后,我没有看到复选框。
        【解决方案5】:

        嗯,这不是最优雅的解决方案,但它确实有效:我只是创建了一个从 /bin/ 到 node 安装路径的符号链接,现在问题就解决了。

        【讨论】:

        • 要创建符号链接,您可以使用例如"cd /usr/bin" "sudo ln -s /usr/local/bin/node"
        • 我也必须符号链接npm,所以sudo ln -s /usr/local/bin/npm /bin/npm
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-07-08
        • 1970-01-01
        • 1970-01-01
        • 2016-08-13
        • 2015-12-07
        相关资源
        最近更新 更多