Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

doc: document windows shell support #16104

Closed
wants to merge 5 commits into from
Closed
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 19 additions & 12 deletions BUILDING.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,18 +37,18 @@ The community does not build or test against end of life distributions (EoL).
Thus we do not recommend that you use Node on end of life or unsupported platforms
in production.

| System | Support type | Version | Architectures | Notes |
|--------------|--------------|----------------------------------|----------------------|------------------|
| GNU/Linux | Tier 1 | kernel >= 2.6.32, glibc >= 2.12 | x86, x64, arm, arm64 | |
| macOS | Tier 1 | >= 10.10 | x64 | |
| Windows | Tier 1 | >= Windows 7 / 2008 R2 | x86, x64 | vs2015 or vs2017 |
| SmartOS | Tier 2 | >= 15 < 16.4 | x86, x64 | see note1 |
| FreeBSD | Tier 2 | >= 10 | x64 | |
| GNU/Linux | Tier 2 | kernel >= 3.13.0, glibc >= 2.19 | ppc64le >=power8 | |
| AIX | Tier 2 | >= 7.1 TL04 | ppc64be >=power7 | |
| GNU/Linux | Tier 2 | kernel >= 3.10, glibc >= 2.17 | s390x | |
| macOS | Experimental | >= 10.8 < 10.10 | x64 | no test coverage |
| Linux (musl) | Experimental | musl >= 1.0 | x64 | |
| System | Support type | Version | Architectures | Notes |
|--------------|--------------|----------------------------------|----------------------|------------------------------|
| GNU/Linux | Tier 1 | kernel >= 2.6.32, glibc >= 2.12 | x86, x64, arm, arm64 | |
| macOS | Tier 1 | >= 10.10 | x64 | |
| Windows | Tier 1 | >= Windows 7 / 2008 R2 | x86, x64 | vs2015 or vs2017, see note 2 |
| SmartOS | Tier 2 | >= 15 < 16.4 | x86, x64 | see note1 |
| FreeBSD | Tier 2 | >= 10 | x64 | |
| GNU/Linux | Tier 2 | kernel >= 3.13.0, glibc >= 2.19 | ppc64le >=power8 | |
| AIX | Tier 2 | >= 7.1 TL04 | ppc64be >=power7 | |
| GNU/Linux | Tier 2 | kernel >= 3.10, glibc >= 2.17 | s390x | |
| macOS | Experimental | >= 10.8 < 10.10 | x64 | no test coverage |
| Linux (musl) | Experimental | musl >= 1.0 | x64 | |

note1 - The gcc4.8-libs package needs to be installed, because node
binaries have been built with GCC 4.8, for which runtime libraries are not
Expand All @@ -59,6 +59,13 @@ note1 - The gcc4.8-libs package needs to be installed, because node
by Joyent. SmartOS images >= 16.4 are not supported because
GCC 4.8 runtime libraries are not available in their pkgsrc repository

note2 - Running Node.js on Windows is officially supported using Cmd. Running Node.js
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think I understand the place this is coming from, but it's a way to complicated scenario to try to boil down to a Note...
For instance there's also PowerShell which is supported, WSL is a complete different animal (and is it Ubuntu or OpenSuse). Also it's completely Ok to run node without a shell (directly from a Windows app or via ❖Win + r).
Then there's the whole Git for Windows === Git Bash === MSYS ~== MinGW naming kerfuffle...
And as for terminal emulators, AFAIK winpty is only needed when using mintty. I don't know what happens when running MSYS Bash in Console2 or ComEmu...

tl;dr IMHO this should go in a different section with a simpler explanation of why winpty is needed and and which scenarios, and omit the "Officially supported" sentence since that's hard to define, and the sentence above is probably not the most correct approximation (for instance we CI on headless MSYS Bash but via python that traps the stdio file handlers).

through any other Windows shell (e.g. WSL, Git Bash, Cygwin, etc) is experimental.
Please note that running Node.js through Git Bash and Cygwin requires usage of
[winpty](https://github.com/rprichard/winpty) (installed with Git Bash) for Node.js to work
correctly (e.g. `winpty node.exe script.js`). Note that if you call node without the `.exe`
extension through Git Bash, winpty is used automatically.

### Supported toolchains

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