In this article, we’ll learn how to upgrade Node.js, NPM, and my Node.js Modules to their latest versions?
Use:
npm update -g npm
See the docs for the update
command:
npm update [-g] [<pkg>...]
This command will update all the packages listed to the latest version (specified by the tag config), respecting semver.
The following original answer is from the old FAQ that no longer exists, but should work for Linux and Mac:
How do I update npm?
npm install -g npm
Please note that this command will remove your current version of npm. Make sure to use sudo npm install -g npm
if on a Mac.
You can also update all outdated local packages by doing npm update
without any arguments, or global packages by doing npm update -g
.
Occasionally, the version of npm will progress such that the current version cannot be properly installed with the version that you have installed already. (Consider, if there is ever a bug in the update command.) In those cases, you can do this:
curl https://www.npmjs.com/install.sh | sh
To update Node.js itself, I recommend you use nvm, the Node Version Manager.
How to update NodeJS and NPM to their latest versions?
I found this really neat way of updating node, you can do it by installing n
:
sudo npm cache clean -f
sudo npm install -g n
sudo n stable
It will install the current stable version of node
.
EDIT: Please don’t use n anymore. I recommend using nvm
. You can simply install stable by following the commands below:
nvm ls-remote
nvm install <version>
nvm use <version>
Also, updating npm is easy:
npm install npm@latest -g
Answer #2:
I understand this question is for Linux machine but just in case anybody is looking for a Windows solution, just go to the Node.js site, click the download button on the homepage and execute the installer program.
Thankfully it took care of everything and with a few clicks of the ‘Next’ button I got the latest 0.8.15 Node.js version running on my Windows 7 machine.
Answer #3:
As you may already know, npm is currently bundled with node.js. It means that if you have installed node.js, you’ve already installed npm as well.
Also, pay attention to the node.js and npm release versions table that shows us approximate versions compatibility. Sometimes, versions discrepancy may cause incompatibility errors.
So, if you’re a developer, it’s kinda “best practice” to manage your development environment using one of the node.js version managers.
Here is a list and usage notes of some of the most popular:
Homebrew (macOS)
If you’re on macOS, you can use Homebrew.
Actually, it’s not just a node.js version manager.
To install Homebrew to your Mac:
$ ruby -e "$(curl -fsSL "
To install node.js and npm using Homebrew, run:
$ brew install node
Later, you will be able to update them using:
$ brew update && brew upgrade node
Also, you can switch between node.js versions as well:
$ brew switch node 0.10.26
npm will be upgraded/downgraded automatically.
n (macOS, Linux)
n is most likely to rvm (Ruby Version Manager), and is used to manage node.js and npm versions simultaneously. It is written on pure Linux shell, and available as an npm module. So, if you already have any node.js version installed, you can install/update the n package through npm
:
$ npm install -g n
Downloading, installing and switching to node.js and npm versions is as easy as:
$ n 0.10.26
$ n 0.8.17
$ n 0.9.6
To download, install, and switch to the latest official release, use:
$ n latest
To download, install, and switch to the latest stable official release, use:
$ n stable
To switch to the previously active version (aka $ cd -
), use:
$ n prev
If you want to see the list of installed node.js versions, just run n
from your command line. The output will be something like the following:
$ n
0.10.26
• 0.8.17
0.9.6
Where the dot (•) means that it’s a currently active version. To select another node.js version from the list, use Up
/Down
arrow keys and activate using the Enter
key.
To list the versions available to install:
$ n lsr
nvm (macOS, Linux)
nvm is also like rvm, even the command names and usage are very similar.
To install nvm you can use the installation script (requires git
) using cURL
:
$ curl https://raw.github.com/creationix/nvm/master/install.sh | sh
or wget
:
$ wget -qO- https://raw.github.com/creationix/nvm/master/install.sh | sh
To download and install a specific node.js and npm version, use:
$ nvm install 0.10
Then, you can switch to the installed version, using:
$ nvm use 0.10
Also, you can create the .nvmrc
file containing the version number, then switch to the specified version using the following command:
$ nvm use
To see the list of installed node.js versions, use:
$ nvm ls
To list the versions available to install:
$ nvm ls-remote
nvm-windows (Windows)
nvm-windows is a node.js version management utility for Windows, ironically written in Go.
It is not the same thing as nvm. However, the usage as a node.js version manager is very similar.
To install nvm-windows, it is required to uninstall any existing versions of node.js and npm beforehand. Then, download and run the latest installer from releases.
To upgrade nvm-windows, run the new installer. It will safely overwrite the files it needs to update without touching your node.js installations.
nvm-windows runs in an Admin shell. You’ll need to start Powershell or Command Prompt as Administrator to use nvm-windows.
Before using, you may also need to enable nvm-windows with the following command:
C:\> nvm on
To download and install a specific node.js and npm version, use:
C:\> nvm install 0.12
Then, you can switch to the installed version, using:
C:\> nvm use 0.12
If you want to see the list of installed node.js versions, use:
C:\> nvm list
To list the versions available to install:
C:\> nvm list available
How to update NodeJS and NPM to their latest versions?
First check your NPM version
npm -v
1) Update NPM to current version:
View curent NPM version:
npm view npm version
Update npm to current version:
npm i -g npm
2) List all available NPM versions and make a custom install/update/roll-back
View all versions including “alpha”, “beta” and “rc” (release candidate)
npm view npm versions --json
Reinstall NPM to a specific version chosen from the versions list – for example to 5.0.3
npm i -g npm@5.0.3
- Installing one version will automatically remove the one currently installed.
- For Linux and iOS prepend commands with sudo
Answer #5:
Try the latest stable version of npm
See what version of npm you’re running:
npm -v
Upgrading on *nix (OSX, Linux, etc.)
(You may need to prefix these commands with sudo
, especially on Linux, or OS X if you installed Node using its default installer.)
You can upgrade to the latest version of npm using:
npm install -g npm@latest
Or upgrade to the most recent release:
npm install -g npm@next
Upgrading on Windows
By default, npm is installed alongside node in
C:\Program Files (x86)\nodejs
npm’s globally installed packages (including, potentially, npm itself) are stored separately in a user-specific directory (which is currently
C:\Users\<username>\AppData\Roaming\npm
).
Because the installer puts
C:\Program Files (x86)\nodejs
before
C:\Users\<username>\AppData\Roaming\npm
on your PATH
, it will always use the version of npm installed with node instead of the version of npm you installed using npm -g install npm@<version>
.
To get around this, you can do one of the following:
- Option 1: edit your Windows installation’s
PATH
to put%appdata%\npm
before%ProgramFiles%\nodejs
. Remember that you’ll need to restartcmd.exe
(and potentially restart Windows) when you make changes toPATH
or how npm is installed. - Option 2: remove both of
%ProgramFiles%\nodejs\npm
%ProgramFiles%\nodejs\npm.cmd
- Option 3: Navigate to
%ProgramFiles%\nodejs\node_modules\npm
and copy thenpmrc
file to another folder or the desktop. Then opencmd.exe
and run the following commands:
cd %ProgramFiles%\nodejsnpm install npm@latest
If you installed npm with the node.js installer, after doing one of the previous steps, do the following.
- Option 1 or 2
- Go into
%ProgramFiles%\nodejs\node_modules\npm
and copy the file namednpmrc
in the new npm folder, which should be%appdata%\npm\node_modules\npm
. This will tell the new npm where the global installed packages are.
- Go into
- Option 3
- Copy the npmrc file back into
%ProgramFiles%\nodejs\node_modules\npm
- Copy the npmrc file back into
A brief note on the built-in Windows configuration
The Node installer installs, directly into the npm folder, a special piece of Windows-specific configuration that tells npm where to install global packages. When npm is used to install itself, it is supposed to copy this special builtin
configuration into the new install. There was a bug in some versions of npm that kept this from working, so you may need to go in and fix that up by hand. Run the following command to see where npm will install global packages to verify it is correct.
npm config get prefix -g
If it isn’t set to <X>:\Users\<user>\AppData\Roaming\npm
, you can run the below command to correct it:
npm config set prefix "${APPDATA}/npm" -g
Incidentally, if you would prefer that packages not be installed to your roaming profile (because you have a quota on your shared network, or it makes logging in or out from a domain sluggish), you can put it in your local app data instead:
npm config set prefix "${LOCALAPPDATA}/npm" -g
…as well as copying %APPDATA%\npm
to %LOCALAPPDATA%\npm
(and updating your %PATH%
, of course).
Everyone who works on npm knows that this process is complicated and fraught, and we’re working on making it simpler. Stay tuned.
Answer #6:
To install the latest version of npm using npm:
sudo npm install npm@latest
I run this on Linux so I am not sure about other operating systems.
On Linux you can also run:
sudo apt-get update
sudo apt-get upgrade
This will tell the apt-get
package manager to update and upgrade all packages.
Answer #7:
Install npm => sudo apt-get install npm
Install n => sudo npm install n -g
latest version of node => sudo n latest
Specific version of node you can
List available node versions => n ls
Install a specific version => sudo n 4.5.0
Hope you learned something from this post.
Follow Programming Articles for more!