1129

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.

1

40 Answers 40

1768

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

Debian 10

Upgrade older versions of node and npm on Debian 10 as follows:

sudo su -c 'curl -sL https://deb.nodesource.com/setup_18.x | bash -'
sudo apt-get install nodejs -y
sudo apt update
sudo apt upgrade
sudo npm install -g [email protected]
node --version
npm --version

Note: Replace setup_18 with the latest long-term support release.

Windows

just reinstall node from the .msi in Windows from the node website.

29
  • 64
    "npm install -g n" did it! Apr 9, 2012 at 17:45
  • 12
    @ZenMaster just reinstall node from the .msi in Windows from the node website. No need for n
    – Naftali
    Aug 16, 2013 at 15:48
  • 13
    OSX Yosemite, npm install n -g && n stable worked for me. No need for sudo if node was not previously installed with it. Nov 4, 2015 at 17:36
  • 9
    This answer is out of date. The best way to install/upgrade nodejs is to use Node Version Manager here: github.com/creationix/nvm or read this answer below Apr 9, 2016 at 17:44
  • 4
    When use command 'node -v' to check whether upgrade success, remember to open a new terminal, otherwise you will still see the old version displayed.
    – Jeff7566
    Nov 18, 2018 at 3:34
799

All Platforms (Mac, Linux & Windows) 2024

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

enter image description here

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.3/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 Specific 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 v20.11.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 v20.11.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!

25
  • 3
    None of them are supported in Windows. NVM suggests nvmw and nvm-windows that are "neither supported nor developed by" NVM and I havent testsed out yet. @nelsonic your answer is awesome
    – slevin
    Oct 4, 2015 at 10:26
  • 1
    Shouldn't tl;dr be at the top for all the people that don't read
    – BotNet
    Sep 29, 2017 at 14:57
  • 1
    @redOctober13 sounds like you need to fix your permissions. see: github.com/nvm-sh/nvm/issues/1164#issuecomment-248749969 You should avoid using sudo (root access) wherever possible.
    – nelsonic
    Jun 27, 2019 at 20:32
  • 1
    It's work on ubuntu 18.04 I got the latest version with: nvm install v12.6 Jul 12, 2019 at 17:22
  • 1
    STEP 2: Incase you get the error: "command not found: nvm" Run: source ~/.nvm/nvm.sh Sep 19, 2021 at 11:17
139

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)

reference

0
70

All platforms (Windows, Mac & Linux)

Just go to nodejs.org and use the latest installer.

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.

8
  • 2
    This worked - but first had to manually remove the existing binary. I copied into a backup location to be safe mv /opt/local/bin/node ~/tmp/
    – Gene Bo
    May 23, 2017 at 0:04
  • @gnB What kind of error did you get? I'll include it in the answer.
    – swelet
    May 23, 2017 at 20:38
  • This came up while working with Firebase CLI, which requires the latest node install. I didn't get an error - but every time I tried to run the CLI command 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
    – Gene Bo
    May 23, 2017 at 20:50
  • 1
    just downloaded newest version, install, went to command prompt typed node -v, saw change instantly. Mar 30, 2018 at 15:22
  • 2
    Just adding for the less experienced ones, that after downloading the binary, there is a bit of installation process, as described here: medium.com/@tgmarinho/…. May 19, 2020 at 13:33
69

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
2
  • I have installed these versions of node and I have Windows 10 installed. I have installed express and jade globally but in my project npm install express not working. Do you have any solution?
    – Jai
    May 30, 2015 at 14:07
  • Now you should run npm cache verify not npm cache clean Dec 20, 2019 at 17:37
42

Following Upgrading Node.js to the 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 the latest version

sudo n latest

If you need to do Undo then follow the 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 losing 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 the use:

nvm use 0.12

Addition n13: In case 'sudo n stable' has errors, try this:

sudo -E env "PATH=$PATH" n stable
3
  • This fixed my problem. Apparently, after updating the node needs a linking to the newer version
    – Gibs
    Apr 29, 2021 at 4:04
  • sudo n stable didn't work - it said 'cant find command n'. Solution to that from another SO posT: sudo -E env "PATH=$PATH" n stable
    – n13
    Mar 14, 2022 at 12:05
  • Please don't run sudo npm/n! It will mess up your permissions for several global npm packages and cause trouble the next time one of them is updated. See recent solutions in this thread.
    – cachius
    Jun 16, 2023 at 19:55
25

Upgrading node.js to the latest version on Windows

  1. Install chocolatey if you haven't already: Installing Chocolatey

  2. 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

3
  • 2
    I had to run choco install nodejs.install for it to see my existing installation.
    – Mike Cheel
    Oct 27, 2014 at 16:29
  • Make sure to run command prompt as administrator. (choco will warn you)
    – Radmation
    Jul 22, 2018 at 19:11
  • Whats funny is I had node v 6 installed but when I tried to run 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!
    – Radmation
    Jul 22, 2018 at 19:13
16

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
15

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
10

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
10

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

8

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.

7
brew upgrade node

will upgrade to the latest version of the node

7

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

1
  • 1
    Simple but effective. Thanks. Dec 25, 2019 at 16:25
6

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.

0
4

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/ ;)

1
  • By far the simplest answer! Easy to forget that there is a perfectly good installer for Node that works just like any other (unless you're desperate to use a CLI). Dec 16, 2016 at 9:24
4

It's very simple in the Windows OS.

You do not have to do any uninstallation of the old Node.js or npm or anything else.

Just go to nodejs.org.

And then look for the Downloads for Windows option and below that click on Current... Latest Feature tab and follow the automated instructions.

It will download the latest Node.js and npm for you and discarding the old one.

3

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.

2

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
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.

2

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.

1
  • I'm unsure what this answer adds to the many already existing ones.
    – Pyves
    Sep 29, 2017 at 18:13
2

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.

2

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.

2

In order to install the latest version of Node.js and npm, do the following:

nvm install --lts
1

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
1

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!

1
1

I used https://chocolatey.org/install

  1. install chocolatey refering this https://chocolatey.org/install
  2. run in cmd

cup nodejs

That's all. NodeJs now updated to latest version

1

I am installing node for angular setup in Ubuntu. I also struggled a little bit. Here is the solution to save your time.

  1. Run the following commands

curl -fsSL https://deb.nodesource.com/setup_16.x | sudo -E bash -

  1. then run below code

sudo apt-get install -y nodejs

It should work, but if still didn't work to you let me know.

0

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
+ [email protected]
updated 1 package in 7.232s
v8.2.1
0

just run command line npm install -g npm or sudo npm install -g npmto update it for mac user. That's it.

Not the answer you're looking for? Browse other questions tagged or ask your own question.