Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Maven failed to execute goal - cannot run program npm

I am on a Windows 7 computer and I've been given code that I have to run "mvn install" on to build the app. When I do this, I get the following error:

Failed to execute goal org.codehaus.mojo:exec-maven-plugin:1.2.1:exec (npm-install) on project [project]: Command execution failed.: Cannot run program "npm" (in directory "C:\Users\path\to\a\folder"): CreateProcess error=2, The system cannot find the file specified

The app itself is split into several parts, one of which is an angular app that npm is being used for.

I've tried installing nodejs (which I'm not very familiar with) and included it in the PATH, but the same error happened anyway. Shouldn't maven take care of the need for installing it?

Any advice on how to resolve this is appreciated.

like image 320
syim Avatar asked Jan 29 '23 21:01

syim


2 Answers

There are two ways to correct this (the second method is preferable if you build the projects targeting linux and windows both. Moreover, also if the no. of pom files is also large):

  1. Change in pom file if using maven see (https://stackoverflow.com/a/40390500/4282901)

               <executions>
                <execution>
                  <id>npm install</id>
                  <phase>generate-sources</phase>
                  <goals>
                     <goal>exec</goal>
                  </goals>
                  <configuration>
                     <executable>npm.cmd</executable>
                     <arguments>
                        <argument>--loglevel</argument>
                        <argument>error</argument>
                        <argument>install</argument>
                     </arguments>
                  </configuration>
               </execution>
    
    1. In the directory where node is installed rename the batch file so that the existing npm.cmd file is picked. See screenshot below: rename npm batch to _npm so that npm.cmd is picked
like image 88
Syed Osama Maruf Avatar answered Jan 31 '23 11:01

Syed Osama Maruf


Install NodeJS and angular cli

Visit https://nodejs.org/en/ and install the latest x64 version.

After nodejs installed, then using below command to install angular/cli.

npm install -g @angular/cli
like image 35
Ananda Reddy Avatar answered Jan 31 '23 11:01

Ananda Reddy