[[installation]] == Installation This page guides you through the installation process of the client. To install the latest version of the client, run the following command: [source,sh] ---- npm install @elastic/elasticsearch ---- To install a specific major version of the client, run the following command: [source,sh] ---- npm install @elastic/elasticsearch@ ---- To learn more about the supported major versions, please refer to the <>. [discrete] [[nodejs-support]] === Node.js support NOTE: The minimum supported version of Node.js is `v10`. The client versioning follows the {stack} versioning, this means that major, minor, and patch releases are done following a precise schedule that often does not coincide with the https://nodejs.org/en/about/releases/[Node.js release] times. To avoid support insecure and unsupported versions of Node.js, the client *will drop the support of EOL versions of Node.js between minor releases*. Typically, as soon as a Node.js version goes into EOL, the client will continue to support that version for at least another minor release. If you are using the client with a version of Node.js that will be unsupported soon, you will see a warning in your logs (the client will start logging the warning with two minors in advance). Unless you are *always* using a supported version of Node.js, we recommend defining the client dependency in your `package.json` with the `~` instead of `^`. In this way, you will lock the dependency on the minor release and not the major. (for example, `~7.10.0` instead of `^7.10.0`). [%header,cols=3*] |=== |Node.js Version |Node.js EOL date |End of support |`8.x` |December 2019 |`7.11` (early 2021) |`10.x` |April 2021 |`7.12` (mid 2021) |=== [discrete] [[js-compatibility-matrix]] === Compatibility matrix The library is compatible with all {es} versions since 5.x. We recommend you to use the same major version of the client as the {es} instance that you are using. [%header,cols=2*] |=== |{es} Version |Client Version |`master` |`master` |`7.x` |`7.x` |`6.x` |`6.x` |`5.x` |`5.x` |=== [discrete] ==== Browser WARNING: There is no official support for the browser environment. It exposes your {es} instance to everyone, which could lead to security issues. We recommend you to write a lightweight proxy that uses this client instead, you can see a proxy example https://github.com/elastic/elasticsearch-js/tree/master/docs/examples/proxy[here].