Dependency version formats in npm in JavaScript

In the package.json file, versions of installed packages can be specified in various formats. Let's explore these formats using the imaginary somelib library.

The following example requires the exact 2.4.2 version:

{ "dependencies": { "somelib": "2.4.2" } }

The following example requires the latest version compatible with 2.4.2:

{ "dependencies": { "somelib": "^2.4.2" } }

In the following example, the project works with the versions 2.4.2, 2.4.3, 2.4.4 and so on:

{ "dependencies": { "somelib": "~2.4.2" } }

In the following example, the project works with the versions 2.4, 2.5, 2.6 and so on:

{ "dependencies": { "somelib": "~2.4" } }

In the following example, the project works with any patch version of the 2.4 package:

{ "dependencies": { "somelib": "2.4.x" } }

In the following example, the project works with any minor version of 2 version:

{ "dependencies": { "somelib": "2.x" } }

In the following example, the project works with the 2.4 version and higher:

{ "dependencies": { "somelib": ">=2.4" } }

In the following example, the project works with any version in the range from 2.4.2 to 3.1.1:

{ "dependencies": { "somelib": "2.4.2 3.1.1" } }
enru