So, I have Node.js installed and now when I tried to install Mongoosejs I got an error telling me that I don't have the needed version of Node.js (I have v0.4.11 and v0.4.12 is needed).
How can I upgrade to this version? I suppose I just could install it again with the latest version, but I don't want to do it before I'm sure that my project folders in the folder "node" won't be deleted.
Ubuntu Linux/Mac:
The module n
makes version-management easy:
npm install n -g
For the latest stable version:
n stable
For the latest version:
n latest
Windows:
just reinstall node from the .msi in Windows from the node website.
All Platforms (Mac, Linux & Windows) 2022
If you just need to upgrade your old version of Node.js to the latest one and don't need multiple versions, simply over-write your existing executable with the new one.
Download the Latest Node.js from nodejs.org/en/download
https://i.stack.imgur.com/tPkyX.png
This Just Works! TM on all platforms and is the easiest/fastest method.
When you run node -v
in your terminal you will see the the latest version.
Mac
If you originally installed Node.js using brew then run:
brew upgrade node
Managing Multiple Versions of Node.js:
If you need to run multiple versions of Node.js on your machine e.g. if you have an older project that targets a specific version on AWS Lambda, then NVM
(Node Version Manger) is your friend!
Step 1 - Get NVM
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
If you're curious about the installation command read the source code ... its been reviewed by several node.js security experts
Step 2 - Install the version of node.js you need
Once you've got NVM you can install a specific version of Node.js using the nvm command:
nvm install v16.15.0
Note: you may need to close & re-open your terminal window for nvm
command to be available.
You should expect to see something like this in your terminal:
Now using node v16.15.0
You now have the latest Node.js on your machine.
And if you need to temporarily switch to a different/previous version, you can do it with a simple nvm
command.
Note: avoid using sudo with Node/NPM as it violates the security principal of least privilege
NVM
is considered "better" than N
for managing multiple Node.js versions because the verbose commands mean it is much easier to keep track of what you are doing in your Terminal/SSH Log. It is used by the team at NPM the creators/custodians of the Node.js World!
sudo
(root access) wherever possible.
via npm:
npm cache clean -f
npm install -g n
n stable
and also you can specify a desired version:
n 0.8.21
In case it doesn't seem to work, the installation gives you a hint :
If "node --version" shows the old version then start a new shell, or reset the location hash with: hash -r (for bash, zsh, ash, dash, and ksh) [or] rehash (for csh and tcsh)
On Windows download latest "Windows Installer (.msi)" from https://nodejs.org/download/release/latest/ and install same directory , thats all...
After complete the installation above, the NodeJS and NPM will be upgraded to the latest one and then you can cleanup the package as normal as:
npm cache clean
npm update -g
Note
You can always check the version with following command:
C:\node -v
v0.12.4
C:\npm -version
2.10.1
npm install express
not working. Do you have any solution?
npm cache verify
not npm cache clean
All platforms (Windows, Mac & Linux)
Updated May 2021
That's it folks. It used to be more complex and people used different kinds of packages and strategies to manage it. But things have changed for the better.
Just go to nodejs.org and use the latest installer.
mv /opt/local/bin/node ~/tmp/
firebase deploy
, it kept referencing the old version/install that had like 0.12.12
in it.. and so firebase kept giving me an error saying I need to upgrade. After I did the remove line (from my initial comment), then the correct 6.x
version/install was detected
node -v
, saw change instantly.
Following Upgrading Node.js to latest version
sudo npm cache clean -f
sudo npm install -g n
sudo n stable
sudo ln -sf /usr/local/n/versions/node/<VERSION>/bin/node /usr/bin/node
For Upgrading Node.js to latest version
sudo n latest
If you need to do Undo then follow command
sudo apt-get install --reinstall nodejs-legacy # fix /usr/bin/node
sudo n rm 6.0.0 # replace number with version of Node that was installed
sudo npm uninstall -g n
This method of upgrading node is now unstable and should not be used. The best way to manage Node.js versions is to use NVM: Node Version Management.!
Installation
You can read the installation steps on the nvm [GitHub page][1]. There are only two easy steps for installation and configuration. Using nvm
If you work with a lot of different Node.js utilities, you know that sometimes you need to quickly switch to other versions of Node.js without hosing your entire machine. That's where you can use nvm to download, install, and use different versions of Node.js:
nvm install 4.0
At any given time you can switch to another with use:
nvm use 0.12
Addition n13: in case 'sudo n stable' has errors, try this:
sudo -E env "PATH=$PATH" n stable
Upgrading node.js to the latest version on Windows
Install chocolatey if you haven't already: Installing Chocolatey From the command prompt, type cup nodejs
(which is equivalent to typing choco upgrade nodejs
-- assumes you already have node installed)
NOTE: You may need to run cinst nodejs.install
for chocolatey to register your existing installation. (thanks for the comment, @mikecheel)
Installing node.js on Windows
If you have never installed node, you can use chocolatey to do that as well. Install chocolatey (see step 1 above). Then from a command prompt, type:
cinst nodejs.install
Chocolatey Gallery Node JS (Install)
Installing a specific version of node on Windows with chocolatey
cinst nodejs.install -Version 0.10.26
cup nodejs
it told me i didn't have nodejs installed at all. It asked if i wanted to install and I selected yes. When I run node -v i get version 10.7.0 so all is well! Thanks!
For brew users on Mac OSX
brew upgrade node
Which produces:
Andrews-MacBook-Air :: ~/dev/cookiecutter-ionic ‹master*› » brew upgrade node
==> Upgrading 1 outdated package, with result:
node 0.12.7
==> Upgrading node
==> Downloading https://homebrew.bintray.com/bottles/node-0.12.7.yosemite.bottle
######################################################################## 100.0%
==> Pouring node-0.12.7.yosemite.bottle.tar.gz
==> Caveats
Bash completion has been installed to:
/usr/local/etc/bash_completion.d
==> Summary
🍺 /usr/local/Cellar/node/0.12.7: 2726 files, 31M
Install npm =>
sudo apt-get install npm
Install n =>
sudo npm install n -g
latest version of node =>
sudo n latest
So latest version will be downloaded and installed
Specific version of node you can
List available node versions =>
n ls
Install a specific version =>
sudo n 4.5.0
I had node version v7.10.0 in Ubuntu
Used below commands to upgrade
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get install -y nodejs
Now its upgraded to v8.2.1
or
sudo apt-get install make
sudo curl -L https://git.io/n-install | bash
. /home/$USER/.bashrc
# Below command should get the latest version of node
node --version
# Install specific version of node
n 8.2
# Check for the Node Version installed
node --version
sudo npm install n -g sudo n 0.12.2
or
sudo npm install -g n sudo n latest
or
sudo npm cache clean -f sudo npm install -g n sudo n latest
These work well. But for UX term
terminal node -v
did not show latest version so I have closed and reopened new terminal. I found v10.1.0
, output of node-v
after installation by sudo n latest
Using brew and nvm on Mac OSX:
If you're not using nvm, first uninstall nodejs. Then install Homebrew if not already installed. Then install nvm and node:
brew install nvm
nvm ls-remote # find the version you want
nvm install v7.10.0
nvm alias default v7.10.0 # set default node version on a shell
You can now easily switch node versions when needed.
Bonus: If you see a "tar: invalid option" error when using nvm, brew install gnu-tar
and follow the instructions brew gives you to set your PATH.
my 2c:
I tried both with n and with nvm on Linux Ubuntu 12.04 LTS, in order to update node from v0.8.25 to v0.10.22.
The first one was successfully completed, but the command 'which node' resulted in the old v0.8.25. The second one was successfully completed and the same command resulted in v.0.10.22.
brew upgrade node
will upgrade to the latest version of the node
If you are using Linux .. Just do the following steps sudo -i sudo apt install curl curl -sL https://deb.nodesource.com/setup_10.x | sudo bash - sudo apt-get install -y nodejs
you should have now the latest version
You don't need to worry about an upgrading process.
You can just install the newest version using the official documentation as if you didn't have it installed and it will work like a charm. > https://nodejs.org/en/download/package-manager/ ;)
Its very simple in Windows OS.
You do not have to do any uninstallation of the old node or npm or anything else.
Just go to nodejs.org
And then look for Downloads for Windows option and below that click on Current... Latest Feature Tab and follow automated instructions
It will download the latest node & npm for you & discarding the old one.
Open the package.json file of the node.js project and replace the version number specified with * in the dependencies will fetch you the latest version.
If you are looking in linux..
npm update will not work mostly am not sure reason but following steps will help you to resolve issue...
Terminal process to upgrade node 4.x to 6.x.
$ node -v
v4.x
Check node path
$ which node
/usr/bin/node
Download latest(6.x) node files from [Download][1]
[1]: https://nodejs.org/dist/v6.9.2/node-v6.9.2-linux-x64.tar.xz and unzip files keep in /opt/node-v6.9.2-linux-x64/.
Now unlink current node and link with latest as following
$ unlink /usr/bin/node
$ ln -s /opt/node-v6.9.2-linux-x64/bin/node node
$ node -v
$ v6.9.2
There is good explanation for linux users how to update node version step by step. P.S type instead of sudo n stable
sudo n latest
for receive latest node version.
If you receive following error
Error: Module version mismatch. Expected 48, got 46.
You have just rebuilt npm by the following command npm rebuild
it should fix the problem.
For Windows users, simply go to the node.js (nodejs.org) website and download the latest version (8.6.0 as of 09/29/2017). Follow the steps from the auto install window and you're good to go. I just did it and when I checked my latest version in webstorm, it was already there.
Re-install the latest version of nodejs by downloading the latest .msi version from nodejs website here, https://nodejs.org/en/download/
It worked for me in my windows machine.
just try this on your terminal :
nvm install node --reinstall-packages-from=node
it should do the trick.
later, run node --version to check the version that you have.
After install nvm as @nelsonic describes, this is the easiest way to keep it upgraded:
"node" is a shortcut to the last version, so you can install the last version with:
nvm install node
And to always use the "node" version:
nvm alias default node
Finally to upgrade your node version and keep the installed packages:
nvm install node --reinstall-packages-from=node
I used https://chocolatey.org/install
install chocolatey refering this https://chocolatey.org/install run in cmd
cup nodejs
That's all. NodeJs now updated to latest version
For Windows
I had the same problem, I tried to reinstall and didn't worked for me.
Remove "C:\Program Files(x86)\nodejs"
from your system enviorment PATH
and thats it!
Just bundling node and npm updates to latest version into a single command for my ~/.bash_profile:
update-node(){
sudo n latest;
sudo npm install -g npm;
node --version;
}
This assumes you've already installed "n" from Eldar Djafarov's answer. After saving this to your Bash profile, re-open the terminal and just type update-node and enter your sudo password:
λ update-node
Password:
/usr/local/bin/npm -> /usr/local/lib/node_modules/npm/bin/npm-cli.js
/usr/local/bin/npx -> /usr/local/lib/node_modules/npm/bin/npx-cli.js
+ npm@5.3.0
updated 1 package in 7.232s
v8.2.1
just run command line npm install -g npm
or sudo npm install -g npm
to update it for mac user. That's it.
Windows 10
Open CMD in folder C:\Program Files\nodejs\node_modules
and type npm i npm
For Ubuntu
Install the nvm (Node Version Manager) using the below command
To install or update nvm, one can use the install script using cURL:
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash
or Wget:
wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash
check if nvm is already installed
nvm --version
To install or update node, run below command:
nvm install 10.14.1(the version of node one want to install)
To check the list of node version available to the system or currently running for the system, run the below command:
nvm list
https://i.stack.imgur.com/VQikz.png
check the node version:
node -v
Success story sharing
.msi
in Windows from the node website. No need for nnpm install n -g && n stable
worked for me. No need forsudo
if node was not previously installed with it.