5
votes

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"

   }

Log message:

  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)

I am using Linux , thanks for the fast response

2
Which operating system are you trying to run this process on?Nishant Ghodke
Can't you just install node using your os package manager like apt-get, yum? Please share the console log if you want us to further troubleshoot the problem.Manish R
Linux machine @ nishantTrojan

2 Answers

5
votes

You need to symlink the nodejs executable to node

sudo ln -s "$(which nodejs)" /usr/local/bin/node

Hope this helps!

0
votes

I am having the same problem.

I got this error in Mac when I had Node installed via nvm

Try Uninstall it , and install via NodeJS Site.

LINK - https://nodejs.org/en/

You will get rid of this error.