From dcde949031c23a318ed57c8065ea9e60a6e1bbb2 Mon Sep 17 00:00:00 2001 From: Tim Ermilov Date: Mon, 9 Oct 2017 19:10:54 +0200 Subject: [PATCH 1/5] doc: document windows shell support Adds list of supported Windows shells and explains that Git Bash and Cygwin require winpty to work correctly. Fixes: https://github.com/nodejs/node/issues/14100 --- BUILDING.md | 28 ++++++++++++++++------------ 1 file changed, 16 insertions(+), 12 deletions(-) diff --git a/BUILDING.md b/BUILDING.md index e9a6a8faf9585c..815ba48298185b 100644 --- a/BUILDING.md +++ b/BUILDING.md @@ -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 @@ -59,6 +59,10 @@ 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 + 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) for Node.js to work correctly. + ### Supported toolchains Depending on host platform, the selection of toolchains may vary. From de56d13128deaa43f4d9248adf1a1c214847d289 Mon Sep 17 00:00:00 2001 From: Tim Ermilov Date: Mon, 9 Oct 2017 19:54:16 +0200 Subject: [PATCH 2/5] doc: clarify winpty in windows support section Add simple example of winpty usage and clarify that it gets installed along with Git for Windows automatically. --- BUILDING.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/BUILDING.md b/BUILDING.md index 815ba48298185b..9549fe2d9a9f8a 100644 --- a/BUILDING.md +++ b/BUILDING.md @@ -61,7 +61,8 @@ note1 - The gcc4.8-libs package needs to be installed, because node note2 - Running Node.js on Windows is officially supported using Cmd. Running Node.js 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) for Node.js to work correctly. + Please note that running Node.js through Git Bash and Cygwin requires usage of [winpty](https://github.com/rprichard/winpty) (installed with Git for Windows) for Node.js to work + correctly (e.g. `winpty node.exe script.js`). ### Supported toolchains From 013732e0980c968bd3b442d696696fda529e14a1 Mon Sep 17 00:00:00 2001 From: Tim Ermilov Date: Mon, 9 Oct 2017 20:22:37 +0200 Subject: [PATCH 3/5] doc: clarify winpty usage from Git Bash Added info on Git Bash running winpty automatically when running node without .exe extension. Changed "Git for Windows" to "Git Bash" for clarity. --- BUILDING.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/BUILDING.md b/BUILDING.md index 9549fe2d9a9f8a..f0a55eadb1843c 100644 --- a/BUILDING.md +++ b/BUILDING.md @@ -61,8 +61,10 @@ note1 - The gcc4.8-libs package needs to be installed, because node note2 - Running Node.js on Windows is officially supported using Cmd. Running Node.js 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 for Windows) for Node.js to work - correctly (e.g. `winpty node.exe script.js`). + 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 From d524f37796f820ac54bd3cdaabf859c4c0c31871 Mon Sep 17 00:00:00 2001 From: Tim Ermilov Date: Mon, 9 Oct 2017 21:21:25 +0200 Subject: [PATCH 4/5] doc: simplify windows shell support explanation Simplify the explanation of node usage through non-standard windows shells. --- BUILDING.md | 35 +++++++++++++++++------------------ 1 file changed, 17 insertions(+), 18 deletions(-) diff --git a/BUILDING.md b/BUILDING.md index f0a55eadb1843c..8f24822ff5d692 100644 --- a/BUILDING.md +++ b/BUILDING.md @@ -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, 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 | | +| 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 | | 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 @@ -59,12 +59,11 @@ 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 - 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. +*Note*: Running node in windows terminal emulators like `mintty` requires the + usage of [winpty](https://github.com/rprichard/winpty) for node's tty + channels to work correctly (e.g. `winpty node.exe script.js`). In "Git bash" + if you call the node shell wrapper (`node` without the `.exe` extension), + `winpty` is used automatically. ### Supported toolchains From e9ca96d1bccec3eaeacc3e391fcdd726bbef16b9 Mon Sep 17 00:00:00 2001 From: Tim Ermilov Date: Mon, 9 Oct 2017 21:32:51 +0200 Subject: [PATCH 5/5] doc: clarify that mintty note is related to running on windows Simple clarification that note about mintty and winpty is only relevant when running Node.js on Windows --- BUILDING.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/BUILDING.md b/BUILDING.md index 8f24822ff5d692..5429bbb97cc1a3 100644 --- a/BUILDING.md +++ b/BUILDING.md @@ -59,11 +59,11 @@ 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 -*Note*: Running node in windows terminal emulators like `mintty` requires the - usage of [winpty](https://github.com/rprichard/winpty) for node's tty - channels to work correctly (e.g. `winpty node.exe script.js`). In "Git bash" - if you call the node shell wrapper (`node` without the `.exe` extension), - `winpty` is used automatically. +*Note*: On Windows, running Node.js in windows terminal emulators like `mintty` + requires the usage of [winpty](https://github.com/rprichard/winpty) for + Node's tty channels to work correctly (e.g. `winpty node.exe script.js`). + In "Git bash" if you call the node shell wrapper (`node` without the `.exe` + extension), `winpty` is used automatically. ### Supported toolchains