Skip to content

Instantly share code, notes, and snippets.

@jbergstroem
Last active January 26, 2018 15:56
Show Gist options
  • Select an option

  • Save jbergstroem/8a4a5b6a602aacc96eb8a171698c324c to your computer and use it in GitHub Desktop.

Select an option

Save jbergstroem/8a4a5b6a602aacc96eb8a171698c324c to your computer and use it in GitHub Desktop.
last edit: 21/09/2016

Supported platforms

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.

Input

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.

Strategy

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.

Supported platforms

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

Supported toolchains

Depending on your host platform, the selection of toolchains may vary.

Unix

  • GCC 4.8 or newer
  • Clang 3.4.1 or newer

Windows

  • 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

Dependencies

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment