How to write cross-platform Node.js code. Why you should care: according to the 2018 Node.js user survey, 24% of Node.js developers use Windows locally and 41% use Mac. In production, 85% use Linux and 1% use BSD. Installers for each major OS are available on the Node.js website. To install, switch and update Node.js versions nvm can be used on Linux/Mac. It does not support Windows but nvm-windows, nvs and ps-nvm (for PowerShell) are alternatives that do. nve can be used to run a single command with one or several different Node.js versions. nvexeca can be used to do the same programmatically. The character encoding can be specified using an encoding option with most relevant Node.js core methods. While ASCII characters display correctly on all terminals, this is not the case for all characters.
Features
- Do not rely on OS system calls or core utilities without using an abstraction layer
- Test each OS with virtual machines and continuous integration
- Instead of nvm, use nvm-windows and npm-windows-upgrade on Windows
- nve and nvexeca can be used to run a single command with one or several different Node.js versions
- Run npm install -g windows-build-tools on Windows when installing C/C++ addons
- Use any characters from cross-platform-terminal-characters