如何修复npm:找不到错误

时间:2018-04-28 15:50:05

标签: node.js jenkins jenkins-pipeline

这是我的第一个Jenkins管道项目。我创建了一个简单的Node.js应用程序,我上传到hithub(公共repo),我试图用我的Jenkinsfile做的就是在Build阶段“npm install”。我相信詹金斯找到了Jenkinsfile,但却找不到npm。我使用jenkins官方docker镜像来运行我的jenkins服务器。这是我安装的两个插件

1) NodeJS Plugin and 2) Pipeline NPM Integration Plugin

这是文件

 pipeline {                                                                                                       
     agent any
     stages {
        stage ("Build") {
           steps {
              sh "npm install"
           }
        }
     }
  }

这是我在运行'Build Now'时遇到的错误      [第二个项目]运行shell脚本      + npm install

/ var / jenkins_home / workspace / second project@tmp/durable-ef33ffd4/script.sh:2:/ var / jenkins_home / workspace / second project@tmp/durable-ef33ffd4/script.sh:

  

npm:not found

有人可以帮忙吗?

3 个答案:

答案 0 :(得分:0)

我想,你的npm二进制文件不在PATH变量中。 尝试指定npm的完整路径,通常是 / usr / local / bin

 pipeline {                                                                                                       
     agent any
     stages {
        stage ("Build") {
           steps {
              sh "/usr/local/bin/npm install"
           }
        }
     }
  }

您可以使用命令which npm

在控制台中检查 npm 路径

答案 1 :(得分:0)

可能是,您已经知道了这一点。启动Jenkins容器时,您是否已将机器的文摘插槽托管在该容器中?

具体来说,您需要在docker run命令上使用-v /var/run/docker.sock:/var/run/docker.sock

然后在管道中,您需要在根据官方节点docker映像(例如npm)构建的docker容器上运行node:10.11.0-alpine。这是一个例子

pipeline {                                                                                                       
     agent {
        docker {
          image 'node:10.11.0-alpine'
        }
     }
     stages {
        stage ("Build") {
           steps {
              sh "npm install"
           }
        }
     }
  }

答案 2 :(得分:-1)

如果您在Windows上而不是尝试以管理员身份运行CMD,然后安装NPM它将对您有用