Jenkins-env:“ node”:没有这样的文件或目录

时间:2018-07-19 07:08:37

标签: node.js jenkins jenkins-plugins jenkins-pipeline

我有一个使用以下配置的jenkins服务器 https://github.com/shierro/jenkins-docker-examples/tree/master/05-aws-ecs

我正在使用简单的Jenkinsfile和blue ocean来运行jenkins NodeJS plugin管道

pipeline { 
  agent any 

  tools {
    nodejs 'node10'
  }

  stages {
    stage ('Checkout Code') {
      steps {
        checkout scm
      }
    }
    stage ('Install dependencies') {
      steps {
        sh "echo $PATH"
        sh "npm install"
      }
    }
  }
}

我确保还要添加 node10 全局工具,并且上面已使用w / c enter image description here

当管道到达脚本sh "npm install"时,我正在运行此错误 enter image description here

这是命令echo $PATH的输出 enter image description here

所以我认为这不是路径问题

此外,它也无法添加全局包 enter image description here

更多信息可能会有所帮助:

  • Docker Jenkins服务器:FROM jenkins/jenkins:2.131-alpine
  • 蓝海版本:1.7.0
  • NodeJS插件:1.2.6
  • 多个服务器已经重新启动

关于为什么詹金斯服务器不知道节点在哪里的任何想法?

预先感谢!

5 个答案:

答案 0 :(得分:4)

感谢@JoergS的见解!在这种情况下,罪魁祸首是:使用高山图像作为码头工人基地。因此,从jenkins/jenkins:2.131-alpine切换到jenkins/jenkins:2.131解决了NodeJS插件问题。

答案 1 :(得分:1)

jenkinsci / blueocean也遇到了同样的问题。无需jenkins nodejs插件。

pipeline { 
  agent any 

  stages {
    stage ('Checkout Code') {
      steps {
        checkout scm
      }
    }
    stage ('Install dependencies') {
      steps {
        sh "apk add nodejs"
        sh "echo $PATH"
        sh "npm install"
      }
    }
  }
}

答案 2 :(得分:0)

jenkinsci / blueocean也遇到了同样的问题。我已经通过以下命令(在docker内部)安装nodejs而不是jenkins插件来解决了这个问题

apk add nodejs

答案 3 :(得分:0)

进行这样的符号链接:

sudo ln -s /var/lib/jenkins/tools/jenkins.plugins.nodejs.tools.NodeJSInstallation/node/bin/node / usr / bin / node

答案 4 :(得分:0)

我想强调米奇·唐尼(Mitch Downey)的评论,这不能仅仅是评论,因为在花了四个小时没有解决方案之后,该评论帮助我解决了解决方案

我的问题最终与詹金斯/ blueocean图片有关。我能够 用jenkins / jenkins:lts和NodeJS替换该图像 插件开始按预期运行