When it comes to Linux
I suggest an Update Node Using a Package Manager:
Node comes with npm pre-installed, but the manager is updated more frequently than Node. Run npm -v to see which version you have, then npm install npm@latest -g
to install the newest npm update. Run npm -v
again if you want to make sure npm updated correctly.
To update NodeJS
, you’ll need npm’s handy n module. Run this code to clear npm’s cache, install n, and install the latest stable version of Node
:
sudo npm cache clean -f
sudo npm install -g n
sudo n stable
To install the latest release, use n latest
. Alternatively, you can run n #.#.# to get a specific Node
version.
When it comes to Windows/ macOS
I suggest using Installers on Nodejs.org
The Node.js downloads page includes binary packages for Windows and macOS — but why make your life more difficult? The pre-made installers — .msi for Windows and .pkg for macOS — make the installation process unbelievably efficient and understandable. Download and run the file, and let the installation wizard take care of the rest. With each downloaded update, the newer versions of Node and npm will replace the older version.
Alternatively, macOS users can use the npm and n instructions above.
When it comes to updating your node_modules
dependencies folder, I suggest skipping all the things that could cause you a headache and just go to your specific project and re-run npm install
again.
Before anyone does that, I suggest first checking your package.json
file for the following:
As a user of NodeJS packages, you can specify which kinds of updates your app can accept in the package.json file. For example, if you were starting with a package version 1.0.4, this is how you could specify the allowed update version ranges in three basic ways:
To Allow Patch Releases: 1.0 or 1.0.x or ~1.0.4
To Allow Minor Releases: 1 or 1.x or ^1.0.4
To Allow Major Releases: * or x
Explanation:
MAJOR version for when there are incompatible API changes. --> ~
MINOR version for when functionality is added in a backwards compatible manner. --> ^
PATCH version for when backward compatible bug fixes are done. --> *