RFC: make node on Windows install, or prompt users to get, windows-build-tools

Is your feature request related to a problem? Please describe.

Users (even experience node users like me, I'm ashamed to admit) install node for Windows on new boxes, and everything is fine installing modules for a little while until one day they need a native modules, and something seems broken. They spend a little while searching and find out they need to yarn add global windows-build-tools or npm -g install windows-build-tools

Essentially, windows-build-tools could be considered a dependency for node on Windows in the same way gcc-c++ is on Linux. As a result, it should be handled better.

Describe the solution you'd like

My gut feeling is for build tools to be installed by the node installer. Things should 'just work'.

Describe alternatives you've considered

How frequently are native modules needed? I'll let the community decide, but

  • If native modules are frequently needed, I'd like windows-build-tools to be there out of the box, in the same way that gcc-c++ is on Linux.

  • If there are some situations where local modules aren't needed, so we can't have windows-build-tools as a hard dependency, I'd like node to strongly recommend installing windows-build-tools - perhaps during compilation of native modules, perhaps after install.

I don't have any hard thoughts one way or the other, just interested in what other Windows node users have experienced here.