Node JS NPM modules installed but command not recognized
node.jsNpmBowernode.js Problem Overview
Node JS and NPM were working well before. Recently I have re-installed the Node JS, NPM and the problem started. After I install a module like an example npm install -g bower
, the module gets installed successfully but bower -v
gives
> 'bower' is not recognized as an internal or external command, operable program or batch file.
I have checked the installation path
C:\Users\XXXXX\AppData\Roaming\npm\node_modules
has all the old installed modules. I have tried to uninstall them and reinstall the modules, but still, I am getting the same error.
Even I have deleted the entire folder and installed all the modules again but the result is the same.
I don't know why I am getting this error after reinstalling NodeJS NPM.
node.js Solutions
Solution 1 - node.js
I had this same problem and fixed it by adding the 'npm' directory to my PATH:
Right-click 'My Computer' and go to 'Properties > Advanced System Settings > Environment Variables'.
Double click on PATH under the 'User variables for Username' section, and add C:\Users\username\AppData\Roaming\npm
obviously replacing 'username' with yours. Based on the comments below, you may need to add it to the top/front of your path.
Restart your console window or IDE and you should get a response from the bower command.
Solution 2 - node.js
I had the same problem as well but installed it globally so the other answers didn't work.
The nodeJS install may not have added npm to your PATH so it's not recognised globally.
Firstly: To figure out if you installed globally or for current user
If there is an npm folder at C:\Users\(your username)\AppData\Roaming\npm
you've installed it for the current user
If there is an npm folder at C:\Program Files\nodejs\node_modules\npm
or C:\Program Files(x86)\nodejs\node_modules\npm
you've installed it globally for all users to access
Secondly: To add it to the Path
- Right-click My Computer
- Click on properties down the bottom
- Click on Advanced System Settings in the left bar
- Click on Environment Variables down the bottom
Now depending on whether you installed globally or for the current user will determine which PATH variable you are updating and with what path location
Local
- Double click on PATH under 'user variables' section
- Add
C:\Users\(your username)\AppData\Roaming\npm
without the quotes
Global
- Double click on PATH under 'user variables' section
- Add
C:\Program Files\nodejs
without the quotes (or with (x86))
Finally
Close all terminals or programs that aren't able to find npm and open them up again
Solution 3 - node.js
Run npm config get prefix
and check the correct npm path first and append the output to the PATH using command or adding manually.
> npm config get prefix
> C:\mydev\tools\npm\npm
>
>
> set PATH=%PATH%;C:\mydev\tools\npm\npm
Solution 4 - node.js
If the package is successfully installed and still shows the message "'npm' is not recognized as an internal or external command, operable program or batch file."
- Click windows start button.
- Look for "ALL APPS", you will see Node.js and Node.js Command prompt there.
- You can run the Node.js Command prompt as administrator and soon as its run it will show the message "Your environment has been set up for using Node.js 6.3.0 (x64) and npm."
Solution 5 - node.js
You should probably check if your node/bin directory is in your PATH variable. Look for it where you've been installing these global modules.
I'm not on windows, so I can't tell you the exact command, but you can check these variables navigating to [Control Panel -> System -> Advanced -> Environment Variables] or something like this.
Solution 6 - node.js
In my case the npm folder was already in the PATH variable.
If after trying everything else, you also still can't make it work, try to delete the folder from the PATH variable and put it at the beginning of the list.
Solution 7 - node.js
I had the same issue in Windows
Two solution worked for me
-
If you are using bash shell, use
npm run
Example :$ npm run ng --version
-
Use Windows power shell or command prompt