Jenkins:java.io.IOException:无法运行程序"node":error = 2,没有这样的文件或目录
问题描述:
我是jenkins和shell脚本的新手,我有一个带有阶段的Jenkins管道脚本.正在安装NOdejs.但是面临一些问题.
我遇到了以下错误.
** java.io.IOException:无法运行程序节点":error = 2,没有这样的文件或目录
**
I Am new to jenkins and shell script,I have a one Jenkins pipeline script with some stages.There am installing NOdejs.But am facing some problems.
I am getting below error .
**java.io.IOException: Cannot run program "node": error=2, No such file or directory
**
请检查以下代码,并让我知道我的错误.
Please check the below code and let me know the mistake i did.
stage('Build') { // for display purposes
sh "wget http://wwwin-xxxxxxxxxxx.xxxxxxxxxxxx.com/repo/softwares/node/node-
v8.11.1-linux-x64.zip"
// sh "ls -l"
sh "unzip node-v8.11.1-linux-x64.zip"
sh "export PATH='${WORKSPACE}/node-v8.11.1-linux-x64/bin:$PATH'"
sh "node-v8.11.1-linux-x64/bin/npm --version"
}
stage('Static Analysis'){
def scannerHome = tool 'SONARQUBE_HOME';
sh "rm -rf ${env.workspace}/xxxxx-core/node_modules"
sh "rm -rf ${env.workspace}/xxxxx-core/microservices/core/node_modules"
sh "rm -rf ${env.workspace}/xxxxx-core/microservices/auth/node_modules"
sh "rm -rf ${env.workspace}/xxxxxx-core/microservices/xxxxx-ms/node_modules"
sh "PATH=\"${WORKSPACE}/node-v8.11.3-linux-x64/bin:$PATH\" ${scannerHome}/bin/sonar-scanner -e -Dsonar.projectKey=xxxxxxxx.xxxx:xxxx-core -Dsonar.login=837687654756743509010101010-Dsonar.projectName=com.xxxxxxxxxx.services:xxxxxx-core -Dsonar.sources=${env.workspace}/xxxxxx-core/src,${env.workspace}/xxxxxx-core/microservices/core/src,${env.workspace}/xxxxxxx-core/microservices/xxxx/src,${env.workspace}/x-xxxxxxxcore/microservices/osupgrade-ms -Dsonar.host.url=https://xxxxx-sonar-sjc.xxxxxxxx.com/sonar/ -Dsonar.analysis.mode=preview -Dsonar.issuesReport.html.enable=true"
}
日志消息:
ERROR: Failed to get Node.js version. No CSS files will be analyzed.
java.io.IOException: Cannot run program "node": error=2, No such file or
directory
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1048)
我正在使用Linux,感谢您的快速响应
I am using Linux , thanks for the fast response
答
您需要将nodejs可执行文件符号链接到节点
You need to symlink the nodejs executable to node
sudo ln -s "$(which nodejs)" /usr/local/bin/node
希望这会有所帮助!