Skip to content

doc: update supported platforms for Node.js 12

As promised in the last @nodejs/tsc meeting, a proposal from @nodejs/build on supported platforms for Node.js 12.

Notable changes:

  • Lifting compiler minimum up to GCC 6 for all Linux variants (needs some work on IBM platforms and ARMv7)
  • Moving ARMv6 to "experimental", assuming a successful launch of an "unofficial builds" project to continue to provide that community with binaries, some work to be done here (armv6/pi1 will be pulled from Node 12+ CI for now)
  • Moving FreeBSD to "experimental" as we have no champion remaining (freebsd will be pulled from Node 12+ CI for now)
  • Moving Linux + musl to Tier 2 (I didn't check with @nodejs/build on this) because it reflects current reality in our CI—we test the latest 2 versions of Alpine and it uses musl. We don't do binaries but may do under an "unofficial builds" project.

There are some items that need clarification, I'll call them out to specific individuals inline.

macOS was one area where we didn't feel confident making a clear call and would like input from people who probably have greater expertise in the toolchains and compatibility. I'm thinking specifically of @bnoordhuis and @ofrobots (or someone on the V8 team perhaps?).

For macOS, we need to answer the following:

  1. What minimum version of macOS should we support building on (we say 10.11)
  2. What minimum version of Xcode and therefore Apple LLVM should we support building on
  3. What version of macOS and Xcode should we compile our binaries on (currently doing it on 10.11 with Xcode Command Line Tools 7)
  4. What MACOSX_DEPLOYMENT_TARGET / -mmacosx-version-min do we set for compiling our binaries (has been 10.7 for a long time, but maybe we should bring that right up to whatever the answer to question 1 is?)

Discussion in @nodejs/build suggested moving to 10.13 for compiling binaries but we didn't land on an Xcode (maybe 10) or a minimum supported version (maybe 10.11 still but with MACOSX_DEPLOYMENT_TARGET lifted to 10.11).

Merge request reports

Loading