By default, npm will install the latest stable version of a package when you run the npm install
command.
To install a specific version of a package, you need to state the version you want to install using the @
symbol.
The format is as follows:
npm install [package name]@[major.minor.patch]
Since npm uses semantic versioning, a package version is specified using the major.minor.patch
version format.
For example, suppose you want to install react
version 15.5.0
.
Here’s how you do it:
npm install react@15.5.0
The command above will fetch the react
package with the exact version you stated using the @x.x.x
format.
You can also select the latest major version of a package by stating only the major version as follows:
npm install react@15
The command above will install react
version 15
with the latest minor and patch version, which is 15.7.0
.
You can also specify the major and minor versions but without the patch version:
npm install react@15.5
The latest patch of react
version 15.5
is 15.5.4
so that’s the version that will be installed.
To install a specific version of a package globally, just add the -g
option after the install
command:
npm install -g gulp@3
The command above will install version 3
of the gulp
package globally.
You can also see all versions available for installation using the npm view [package-name] versions
command.
Here’s an example of seeing available gulp versions:
$ npm view gulp versions
[
'0.0.1', '0.0.2', '0.0.3', '0.0.4', '0.0.5',
'0.0.7', '0.0.8', '0.0.9', '0.1.0', '0.2.0',
'1.0.0', '1.1.0', '1.2.0', '1.2.1', '2.0.0',
'2.0.1', '2.1.0', '2.2.0', '2.3.0', '2.4.0',
'2.4.1', '2.6.0', '2.6.1', '2.7.0', '3.0.0',
'3.1.1', '3.1.2', '3.1.3', '3.1.4', '3.2.0',
'3.2.1', '3.2.2', '3.2.3', '3.2.4', '3.2.5',
'3.3.0', '3.3.1', '3.3.2', '3.3.4', '3.4.0',
'3.5.0', '3.5.1', '3.5.2', '3.5.5', '3.5.6',
'3.6.0', '3.6.1', '3.6.2', '3.7.0', '3.8.0',
'3.8.1', '3.8.2', '3.8.3', '3.8.4', '3.8.5',
'3.8.6', '3.8.7', '3.8.8', '3.8.9', '3.8.10',
'3.8.11', '3.9.0', '3.9.1', '4.0.0', '4.0.1',
'4.0.2'
]
You can define the specific version you want to install based on the output above.
Installing next builds
Additionally, you can also use @next
to install the next version of a package.
The next
version is commonly used to tag an experimental package build that’s not yet released to the public. This version is usually unstable and may contain bugs.
Since npm packages are open-sourced, the developers rely on the community to provide feedback and report bugs.
Generally, you can install the latest unstable version using the following command:
npm install react@next
Please keep in mind that you are not recommended to use the next
version for the production environment. The purpose of this version is for testing.
Now you’ve learned how to install a specific version of an npm package.
Installing a specific version of a package is useful when you need to roll back a package update because of breaking changes in the latest version.
You can also use it to help package developers test the latest nightly builds before it was released to the public.