# 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" } }`
←→
↑
en ru