@@ -104,26 +104,26 @@ Node.js does not support a platform version if a vendor has expired support |
104 | 104 | for it. In other words, Node.js does not support running on End-of-Life (EoL) |
105 | 105 | platforms. This is true regardless of entries in the table below. |
106 | 106 |
|
107 | | -| Operating System | Architectures | Versions | Support Type | Notes | |
108 | | -| ---------------- | ---------------- | --------------------------------- | ------------ | ------------------------------------ | |
109 | | -| GNU/Linux | x64 | kernel >= 4.18[^1], glibc >= 2.28 | Tier 1 | e.g. Ubuntu 20.04, Debian 10, RHEL 8 | |
110 | | -| GNU/Linux | x64 | kernel >= 3.10, musl >= 1.1.19 | Experimental | e.g. Alpine 3.8 | |
111 | | -| GNU/Linux | x86 | kernel >= 3.10, glibc >= 2.17 | Experimental | Downgraded as of Node.js 10 | |
112 | | -| GNU/Linux | arm64 | kernel >= 4.18[^1], glibc >= 2.28 | Tier 1 | e.g. Ubuntu 20.04, Debian 10, RHEL 8 | |
113 | | -| GNU/Linux | armv7 | kernel >= 4.18[^1], glibc >= 2.28 | Experimental | Downgraded as of Node.js 24 | |
114 | | -| GNU/Linux | armv6 | kernel >= 4.14, glibc >= 2.24 | Experimental | Downgraded as of Node.js 12 | |
115 | | -| GNU/Linux | ppc64le >=power9 | kernel >= 4.18[^1], glibc >= 2.28 | Tier 2 | e.g. Ubuntu 20.04, RHEL 8 | |
116 | | -| GNU/Linux | s390x >=z14 | kernel >= 4.18[^1], glibc >= 2.28 | Tier 2 | e.g. RHEL 8 | |
117 | | -| GNU/Linux | loong64 | kernel >= 5.19, glibc >= 2.36 | Experimental | | |
118 | | -| GNU/Linux | riscv64 | kernel >= 5.19, glibc >= 2.36 | Experimental | | |
119 | | -| Windows | x64 | >= Windows 10/Server 2016 | Tier 1 | [^2],[^3] | |
120 | | -| Windows | arm64 | >= Windows 10 | Tier 2 | | |
121 | | -| macOS | x64 | >= 13.5 | Tier 1 | For notes about compilation see [^4] | |
122 | | -| macOS | arm64 | >= 13.5 | Tier 1 | | |
123 | | -| SmartOS | x64 | >= 18 | Tier 2 | | |
124 | | -| AIX | ppc64be >=power9 | >= 7.2 TL04 | Tier 2 | | |
125 | | -| FreeBSD | x64 | >= 13.2 | Experimental | | |
126 | | -| OpenHarmony | arm64 | >= 5.0 | Experimental | | |
| 107 | +| Operating System | Architectures | Versions | Support Type | Notes | |
| 108 | +| ---------------- | ---------------- | --------------------------------- | ------------ | ---------------------------------------------- | |
| 109 | +| GNU/Linux | x64 | kernel >= 4.18[^1], glibc >= 2.28 | Tier 1 | e.g. Ubuntu 20.04, Debian 10, RHEL 8 | |
| 110 | +| GNU/Linux | x64 | kernel >= 3.10, musl >= 1.1.19 | Experimental | e.g. Alpine 3.8 | |
| 111 | +| GNU/Linux | x86 | kernel >= 3.10, glibc >= 2.17 | Experimental | Downgraded as of Node.js 10 | |
| 112 | +| GNU/Linux | arm64 | kernel >= 4.18[^1], glibc >= 2.28 | Tier 1 | e.g. Ubuntu 20.04, Debian 10, RHEL 8 | |
| 113 | +| GNU/Linux | armv7 | kernel >= 4.18[^1], glibc >= 2.28 | Experimental | Downgraded as of Node.js 24 | |
| 114 | +| GNU/Linux | armv6 | kernel >= 4.14, glibc >= 2.24 | Experimental | Downgraded as of Node.js 12 | |
| 115 | +| GNU/Linux | ppc64le >=power9 | kernel >= 4.18[^1], glibc >= 2.28 | Tier 2 | e.g. Ubuntu 20.04, RHEL 8 | |
| 116 | +| GNU/Linux | s390x >=z14 | kernel >= 4.18[^1], glibc >= 2.28 | Tier 2 | e.g. RHEL 8 | |
| 117 | +| GNU/Linux | loong64 | kernel >= 5.19, glibc >= 2.36 | Experimental | | |
| 118 | +| GNU/Linux | riscv64 | kernel >= 5.19, glibc >= 2.36 | Experimental | GCC >= 14 or Clang >= 19 for native builds[^7] | |
| 119 | +| Windows | x64 | >= Windows 10/Server 2016 | Tier 1 | [^2],[^3] | |
| 120 | +| Windows | arm64 | >= Windows 10 | Tier 2 | | |
| 121 | +| macOS | x64 | >= 13.5 | Tier 1 | For notes about compilation see [^4] | |
| 122 | +| macOS | arm64 | >= 13.5 | Tier 1 | | |
| 123 | +| SmartOS | x64 | >= 18 | Tier 2 | | |
| 124 | +| AIX | ppc64be >=power9 | >= 7.2 TL04 | Tier 2 | | |
| 125 | +| FreeBSD | x64 | >= 13.2 | Experimental | | |
| 126 | +| OpenHarmony | arm64 | >= 5.0 | Experimental | | |
127 | 127 |
|
128 | 128 | <!--lint disable final-definition--> |
129 | 129 |
|
@@ -148,6 +148,13 @@ platforms. This is true regardless of entries in the table below. |
148 | 148 | [^4]: Our macOS Binaries are compiled with 13.5 as a target. Xcode 16 is |
149 | 149 | required to compile. |
150 | 150 |
|
| 151 | +[^7]: Native riscv64 builds need GCC >= 14 or Clang >= 19 because V8 |
| 152 | + includes `<riscv_vector.h>` and uses `target("arch=+v")` in |
| 153 | + `deps/v8/src/base/cpu.cc`. GCC 13's `riscv_vector.h` errors out without |
| 154 | + `-march=rv64gcv` and doesn't support the `target` attribute at all. |
| 155 | + Cross-compilation from x64 is unaffected (the code is behind |
| 156 | + `V8_HOST_ARCH_RISCV64`). |
| 157 | + |
151 | 158 | <!--lint enable final-definition--> |
152 | 159 |
|
153 | 160 | ### Supported toolchains |
|