A list of platforms supported by Node.js. This list needs to be kept up to date and released with each version of Node.js. The current version (below) is based on node 6.x but it should suggestively be backported to 4.x as well.
We rely on a few dependencies that ‘makes us who we are’. These are most importantly v8 and libuv. We therefore need to adopt their supported platforms and potentially add to their lists based on test and/or release coverage.
Support will be divided into three Tiers:
- Tier 1: Full test coverage and maintenace by the broader community.
- Tier 2: Full test coverage but more limited maintenance, often provided by the vendor of the platform.
- Experimental: Compiles in community ci but not necessarily full test coverage. These are often working to be promoted to Tier 2 but are not quite ready. There needs to be at least one individual providing maintenace and should strive to broaden CI test coverage.
| System | Support type | Version | Architectures | Notes |
|---|---|---|---|---|
| GNU/Linux | Tier 1 | kernel >= 2.6.18, glibc >= 2.5 | x86, x64, arm, arm64 | |
| macOS | Tier 1 | >= 10.10 | x64 | |
| Windows | Tier 1 | >= Windows 7 or >= Windows2008R2 | x86, x64 | |
| SmartOS | Tier 2 | = 14 | x86, x64 | |
| FreeBSD | Tier 2 | >= 10 | x64 | |
| GNU/Linux | Tier 2 | kernel >= 4.2.0, glibc >= 2.19 | ppc64be | |
| GNU/Linux | Tier 2 | kernel >= 3.13.0, glibc >= 2.19 | ppc64le | |
| AIX | Tier 2 | >= 6.1 | ppc64be | |
| GNU/Linux | Tier 2 | kernel >= 3.10, glibc >= 2.17 | s390x | |
| macOS | Experimental | >= 10.8 < 10.10 | x64 | no test coverage |
| SmartOS | Experimental | >= 15 | x86, x64 | |
| Linux (musl) | Experimental | musl >= 1.0 | x64 |
Depending on your host platform, the selection of toolchains may vary.
- GCC 4.8 or newer
- Clang 3.4.1 or newer
- Building Node: Visual Studio 2015¹ or Visual C++ Build Tools 2015 or newer
- Building native modules: Visual Studio 2013 or Visual C++ Build Tools 2015 or newer
1: For backporting to Node v4.x: Visual Studio 2013
Node.js intends to support building against shared representations of
what can be found in deps/ as long as the version of the shared
library is at least equal or newer to the one found in deps. Seeing
how we've floated patches in the past, we're yet to officially support it.