8

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

3
  • Which operating system are you trying to run this process on? Commented Oct 12, 2018 at 11:33
  • 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. Commented Oct 12, 2018 at 11:37
  • Linux machine @ nishant Commented Oct 12, 2018 at 11:44

3 Answers 3

9

To those stumbling to this issue now, you can open the android studio from a command line that is aware of the node path. In my mac I used the mac terminal to open Android Studio like this:

open -a /Applications/Android\ Studio.app
Sign up to request clarification or add additional context in comments.

1 Comment

the problem is about making node available on any new terminal session. whichever way you installed node, it just must be available from the get go of any new session.
7

You need to symlink the nodejs executable to node

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

Hope this helps!

5 Comments

I have added below code : sh "sudo ln -s /usr/bin/nodejs /usr/sbin/node" but got issue like : It usually boils down to these three things: #1) Respect the privacy of others. #2) Think before you type. #3) With great power comes great responsibility.
Whaaaaaaaaaaaat?
Do i need to install node, even after unzip it. If yes, how to do that.
I installed it from nodejs.org/en/download and this problem was fixed
I had the same problem because I installed node with nvm. This command worked for me: 'sudo ln -s "$(which node)" /usr/local/bin/node'
1

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.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.