I can't use
npm install using the command prompt in NodeJS. I'm getting these errors when running
module.js:339 throw err; ^ Error: Cannot find module 'semver' at Function.Module._resolveFilename (module.js:337:15) at Function.Module._load (module.js:287:25) at Module.require (module.js:366:17) at require (module.js:385:17) at Object.<anonymous> (C:\Users\admin\AppData\Roaming\npm\node_modules\npm\l ib\config\defaults.js:6:14) at Module._compile (module.js:435:26) at Object.Module._extensions..js (module.js:442:10) at Module.load (module.js:356:32) at Function.Module._load (module.js:311:12) at Module.require (module.js:366:17)
I faced this issues while running project on higher version of cli. To solve this issue you can simply comment out @angular-devkit/build-angular module and again you have to reinstall it through
npm install @angular-devkit/build-angular --save
brew uninstall --force node brew install node
On Arch Linux what did the trick for me was:
sudo pacman -Rs npm sudo pacman -S npm
On Ubuntu, if you would rather manage Node through the default repositories using
apt, it's best to install both
npm this way.
It's very likely that the version of npm you are using is expecting
semver in a specific place that is not aligned with the version of Node JS you have installed. If there is only one version of
nodejs and only one version of
npm, and they are both installed using the default repositories, this should work perfectly.
Here is my best guidance for getting Node and npm working using the main Ubuntu repositories:
sudo apt-get purge nodejs --auto-removeand
sudo apt-get purge npm --auto-remove
whereis node: remove all the versions of node, one at a time. Repeat until this command returns a blank after
sudo apt-get install nodejs
node --version: should return
... no such file or directory
nodejs --version: should return
v1x.x.x. This is the version installed by
apt. It will probably be less recent that the latest version available on the Node JS website.
sudo apt-get install npm
npm --version: it will use the
aptand work correctly.
Faced this issue when I ran
npm install using a lower version of node. Then later when I upgraded to latest version of node and ran
gulp, it has shown this error.
To resolve, deleted node_modules and re-ran
npm install. Then
gulp ran fine.
just remove your node_modules
rm -rf node_modules
Just make sure
semver is installed:
npm install -g semver
For me, this happened after I installed yarn globally. To resolve this issue, install npm using yarn and done.
yarn global add npm
I had the same issue installing on AWS Linux. I had to install it with
sudo. So to get around this I followed step 3 from this article (making sure to get the latest version of node)
wget https://nodejs.org/dist/vx.x.x/node-vx.x.x-linux-x64.tar.xz tar -C /home/aUser/node --strip-components 1 -xJf node-vx.x.x-linux.x64.tar.xz
But installed it to the user's home directory
/home/aUser/node. Then added that path to my PATH.
After that I was able to do an
npm install with no issues.
This worked for me on Ubuntu (latest version dated Oct/2020)
I had to first get code from the bash source:
curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash -
This got the latest version of node which updated my libraries and got rid of the 'semver' error.
For me, it happened while upgrading to gulp 4 from gulp 3 in my project. So, when I run "gulp watch" command, it was throwing me same error.
It's probably due to version mismatch as compared to my globally installed gulp.
So, either upgrading gulp with "-g" global flag would help, or else I followed this below
However, I used "./node_modules/.bin/gulp watch" in my project. This ensures that all the dependencies that gulp needs are taken from node_modules only.
Just check your preinstall scripts if you have one. Sometimes to restrict the versions of
npm one needs to run a project.
If that's the case you need to install
semver manually via
npm install -g semver
if you are in Linux server exit from the server and re ssh
I finally figured this out! Yes, you have to uninstall/delete all files and reinstall. BUT SOME OF THE FILE PATHS ARE TOO LONG TO DELETE DURING THE UNINSTALL PROCESS. The file paths are so long in Node that they may not be able to be deleted. You have to rename the file paths.
After uninstalling Node, use Command Prompt, navigate to ...\Appdata\roaming\ (use the path from the error message). Try to delete the folder with del npm. Then, if it doesn't allow you to delete a folder, start renaming the folders in the file path in the next error message to "a" or something short. You may have to do this for multiple folders along the path. Then you should be able to delete! Then reinstall node and it should work.
In my case on macOS(10.13.6), when I executed the following command
npm install -g react-native-cli
I got this error
Error: Cannot find module 'semver' at Function.Module._resolveFilename (internal/modules/cjs/loader.js:636:15) at Function.Module._load (internal/modules/cjs/loader.js:562:25) at Module.require (internal/modules/cjs/loader.js:690:17) at require (internal/modules/cjs/helpers.js:25:18) at Object.<anonymous> (/usr/local/lib/node_modules/npm/lib/utils/unsupported.js:2:14) at Module._compile (internal/modules/cjs/loader.js:776:30) at Object.Module._extensions..js (internal/modules/cjs/loader.js:787:10) at Module.load (internal/modules/cjs/loader.js:653:32) at tryModuleLoad (internal/modules/cjs/loader.js:593:12) at Function.Module._load (internal/modules/cjs/loader.js:585:3)
The error got resolved after executing the command
yarn global add npm
proposed by @Ashoor
I had the same issue but it was caused by a broken
package-lock.json and running
npm install again fixed it for me.
I'm facing the same issue here.
If this occurs right after you run
brew install yarn try running
yarn global add npm and voilà - fixed!
I was getting same issue but solve this issue with an below command.
npm install semver
i was getting an error saying Permission Denied after running any 'ng' command (ng --version). I googled for a while and tried clearing npm cache
npm cache verify, uninstalling my global angular cli (
npm uninstall -g @angular/cli) and reinstalling Angular/cli (
npm install -g @angular/cli) etc.. but it would give an error say its already installed. but the node_modules folder here wouldn't have any angular folder.. reinstalled node even then restarted my computer.
ANSWER: Finally I found that the ng.cmd and ng.ps1 files in
C:\Users\JaGoodwin\AppData\Roaming\npm\ here were still there (in npm folder).. even though I did
npm uninstall -g @angular/cli. those files were causing ng (angular/cli) to think it was still installed. i deleted those files then
npm install -g @angular/[email protected] (version i need) I then removed my projects node_modules and then ran
npm install and now can run my angular project using
Find this by folder searching %APPDATA% in your windows search bar.
Just remove the /node_modules folder and try again. ;)
You can use
npm rm to remove it.
So sad to see you go.
npm uninstall npm -gOr, if that fails,
sudo make uninstall More Severe Uninstalling
Usually, the above instructions are sufficient. That will remove npm, but leave behind anything you've installed.
If you would like to remove all the packages that you have installed, then you can use the npm ls command to find them, and then npm rm to remove them.
To remove cruft left behind by npm 0.x, you can use the included clean-old.sh script file. You can run it conveniently like this:
npm explore npm -g -- sh scripts/clean-old.sh npm uses two configuration files, one for per-user configs, and another for global (every-user) configs. You can view them by doing:
npm config get userconfig # defaults to ~/.npmrc npm config get globalconfig # defaults to /usr/local/etc/npmrc Uninstalling npm does not remove configuration files by default. You must remove them yourself manually if you want them gone. Note that this means that future npm installs will not remember the settings that you have chosen.
Having just encountered this on Arch Linux 4.13.3, I solved the issue by simply reinstalling
pacman -S semver
I got same error and I solved it.
delete package-lock.json file and node_modules folder then
I faced with same trouble after brew installs yarn on my MacOs Sierra 10.12.6. (And the first try of installation fall after brew update self with a message " Homebrew must be run under Ruby 2.3! You're running 2.0.0. (RuntimeError)". So I re-run it.)
So I use n manager to reinstall npm.
I think the trouble can be caused that node was installed under sudo for case.
Actually, it is taking the reference of previously stored modules.
Solution:Delete the npm-cache/npm folder in the installation directory of nodejs. In windows, it is in C:/User/Username/Appdata/Roaming/npm(or npm_cache). and try to install again.
Same thing to do in any OS.
I had this too, after running
brew install yarn yesterday. At least, everything was fine up until then.
rm -rf node_modules and tried to reinstall, but no
npm command was working.
In the end I took the rather simple step of reinstalling Node via the official Node installer for Mac OS X.
Everything is fine now. Just went back to the directory, ran
npm install and it's done the trick.
I had the same error.
npm uninstall npm -g,
rm -rf node_modules didn't help me, because when I tried I was getting
Error: Cannot find module 'semver'. But I solve my problem with these steps (this will delete other global modules you may be using):
sudo rm -rf /usr/local/lib/node_modules
sudo rm -rf ~/.npm
brew uninstall --force node
brew install node
Hope this will help those who are getting a similar problem.
In my case, simply re-running
brew install yarn fixed the problem.
sudo rm -rf /usr/local/bin/npm /usr/local/share/man/man1/node* ~/.npm sudo rm -rf /usr/local/lib/node* sudo rm -rf /usr/local/bin/node* sudo rm -rf /usr/local/include/node* sudo apt-get purge nodejs npm sudo apt autoremove
Then install node and npm