Reputation: 2415
When I do a npm -v
I see that I am still on 5.6.0. And keep getting prompts to do a npm i npm
.
But I've done a sudo npm install npm@latest -g
and double checked with a npm outdated -g --depth=0
to see that my global npm is at the latest already (6.0.0).
How do I resolve this conflict? Is the npm I'm using the latest or is it still the old one? Is it because my global is linked incorrectly or something?
Upvotes: 47
Views: 86214
Reputation: 8593
I had issue with VS Code when I did nvm alias in its own terminal, even after ran alias command, the version kept switching back to old version even I open a new terminal within the VS Code. But as stupid as it sounds, close and reopen the vscode for me worked, after I set the version in an independent terminal.
Upvotes: 0
Reputation: 3
In my case, I wanted to use Version 18 and it was showing 16. I'm using homebrew on my mac and the command that worked for me was the following:
brew uninstall node@16
And voila the version that was showing after is 18.
Upvotes: 0
Reputation: 141
I have this same symptom but none of the answers helped and I finally found the issue. It may not be exactly the same as the OP's but I think it is along the same lines. @Kelvin Zhao's solution of un-installing and re-installing worked for him but not for me so this might be useful for others.
My issue ended up being that I use brew and (I can't remember how exactly) but I seem to be have an old version in the brew Celler.
Brew didn't know about it, or couldn't tell me as I do a brew uninstall node
and it says its doesn't exist.
When I run node -v
or npm -v
I get the old versions.
I uninstalled and reinstalled using brew
and npm
and sudo npm
etc didn't do it. it showed the correct versions being installed but node -v
still showed the old.
Turns out there is a version in my /usr/local/Celler
directory named node@14
.
So running brew uninstall node@14
got rid of that and now node -v doesn't work anymore.
Now re-installing node works. brew install node
More info for further details for those interested.
I wanted to find out where I still had node installed so I did echo $PATH
as it had to be somewhere in the path else node -v
wouldn't be recognised.
Turns out I had /usr/local/opt/node@14
in my path (which linked to /usr/local/Celler/node@14
)
That is how I found it. And now I think I remember how it got there. I'm 90% sure that I did an upgrade of node and brew asked what to do with the old version and I think I said to keep it. And that was my mistake that lead me here (and where I think OP's situation differs)
Upvotes: 0
Reputation: 329
Problem summary
npm -v # 6.xx
npm install npm@latest -g
npm -v # still the same, but should be 7.xx
Solution based on the answer of fypnlp.
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash
The terminal now wants to configure some ~/.zshrc
file which I don't have on my Mac yet. So let’s create it
nano ~/.zshrc
and paste
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
Now restart the terminal and run
command -v nvm # should return "nvm"
nvm install node
npm -v # now it’s 7.xx yay!
Upvotes: 3
Reputation: 519
I faced a similar issue. I had node v14.15.4 installed on ubuntu 18, but when i used node -v
it showed v11.0.0.
To check all the node versions available on your system using nvm, use
nvm ls
To set the newly installed node version as the default, use
nvm alias default <version>
Then, just close the terminal and open a new terminal to check the node version.
Upvotes: 1
Reputation: 13597
Actually this could be happening due to mistakes like you installing packages using yarn
ex:
// update the version number in package.json then
yarn install
and trying to run scripts using npm
like
npm run start
Actually I did this mistake.
So make sure to use either yarn
or npm
, but not both.
Upvotes: 0
Reputation: 11
I found this command line that worked for me.
Update from version 12.18
to the latest version 15.2
correctly.
I hope this is useful:
nvm install node --reinstall-packages-from=node
Upvotes: 1
Reputation: 41
I was facing the same error today.Updated npm version does not reflect.
This is how I resolved it.
A lot of post suggested to use the command npm cache clean --f. But, it did not work for me. Hence, I deleted the "npm" and "npm-cache" folders from the location C:\Users\SearchYourUserName\AppData\Roaming
Uninstalled the existing node.
Re-Installed node version v10.x.x. I downloaded the node-v10.22.1-x64.msi file from https://nodejs.org/dist/latest-v10.x/ and installed it.
Then checked the npm version. It had worked.
Upvotes: 0
Reputation: 6668
Let's do a better solution if all of the mention methods not help you:
You need to install nvm
(Node Version Manager)
After that just run:
nvm install 14
list your versions to see is version installed
nvm ls
and you will get list like this:
v10.2.0
v12.18.3
-> v14.10.0
system
default -> 14.10.0 (-> v14.10.0)
node -> stable (-> v14.10.0) (default)
stable -> 14.10 (-> v14.10.0) (default)
iojs -> N/A (default)
unstable -> N/A (default)
lts/* -> lts/erbium (-> v12.18.3)
lts/argon -> v4.9.1 (-> N/A)
lts/boron -> v6.17.1 (-> N/A)
lts/carbon -> v8.17.0 (-> N/A)
lts/dubnium -> v10.22.0 (-> N/A)
lts/erbium -> v12.18.3
Switch default version like this:
nvm alias default 14.10.0
And check:
node -v
If print v14.10.0
you are ready to rock, if not:
nvm use 14
and check again.
This need to work like a charm and you will be happy.
Upvotes: 29
Reputation: 6351
Though this is an old question and the answer might not be relevant but I found myself into such situation many time, sometimes restarting the server is not a solution because other process will get effected. So you need to refresh the terminal without actually restarting the server and for that you may run exec bash
and that will certainly help.
Upvotes: 1
Reputation: 1
First uninstall your installed nodejs from Control Panel\All Control Panel Items\Programs and Features.
Delete nodejs folder from the Program Files (x86) folder.
Now install new version and check it once.
Upvotes: 0
Reputation: 103
Search for a node_modules folder in your home directory, rename it or delete it, then try again.
Upvotes: 0
Reputation: 886
I had this issue today with Node installer node-v10.16.0-x64.msi. Even after installing it I got the node version from npm -v as 3.10... and my react app would fail to start :(
It seems that node creates a folder in APPDATA at %AppData%\Roaming\npm There was an old npm.exe lying there and this was in my Windows Path at user level. The user level Path overrides the system level Path where the new installer had added its path. The user override caused the new npm to not be found. Solution: Shift-Delete %AppData%\Roaming\npm ! :D Remove and reinstall with node-v10.16.0-x64.msi
Now npm -v gives 6.9.0!
Upvotes: 2
Reputation: 827
Try closing the Terminal - once you open it again it should work, worked for me well.
*IvanD wrote this solution in a comment to the original post, I thought it's worth an answer post.
Upvotes: 47
Reputation: 1537
I can 100% vouch this works.
I got this from someone who teaches node.js.
Give NVM (Node Version Manager) a try. Do the commands in the following ordrer:
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash
command -v nvm
nvm install node
finally confirm that the update was successful
Upvotes: 35
Reputation: 337
If you have tried all the mentioned approach like :- sudo npm install -g n sudo n stable
or
sudo npm install npm@latest -g still npm -v showing you the older version, once try to close your terminal and open a new one and check.
Upvotes: 1
Reputation: 775
Check your /usr/local/lib
folder. I had the same problem and a node_modules
folder in here. After removing it and rerunning [sudo] npm install npm@latest -g
it showed and used the correct version.
Upvotes: 9
Reputation: 455
I think your question is replecated and already has an answer. First, The LTS and current version of NPM is 5.6.0 for both Node 8.11.1 (LTS) and Node 10.0.0 (Latest current version) according to the official documentation.
Otherwise, sudo npm install npm@latest -g
should install the latest version NPM globally.
Upvotes: 0
Reputation: 649
sudo npm install -g n
If you want latest stable version
sudo n stable
If you want the latest version
sudo n latest
Then restart computer
Upvotes: 7