Server dependencies

Prerequisites

Preliminaries

This note documents the software required by the server for successful website hosting.

The server software is written using ECMAScript, which is an interpreted language. It relies on the Node.js® libraries with the built-in Chrome V8 engine to interpret the server's source code and implement the HTTP/2 request/response cycle documented in these notes. Instructions on how to install Node.js can be readily found on the Internet.

The Node.js software has a module loader that dynamically finds modules that are required by the source code. This module loader is often conflated with the Node Package Manager (NPM), but in fact, they are not the same thing. The server software does not rely on NPM and can be executed without regard to its presence or absence.

The Node.js software is still under development, and new versions are deployed throughout the year. The server software is dependent upon having the correct version of Node.js installed. At the present time (2019), these versions have been tested for compatibility:

rwserve Node.js minimum Node.js maximum
rwserve 1.0.0 Node.js 8.9.3 Node.js 8.11.2
rwserve 1.0.32 Node.js 10.3.0 Node.js 10.13.0

Older versions may not have all the required features and should not be used. Newer versions may work, but have not been tested for signature compliance. In particular, the code that implements the HTTP/2 protocol is still "experimental" and the signature of callback functions is still evolving. It is safest to use only the version listed above.

If a different version of the Node.js executable is needed by other software running on the same device, it is possible to install and use multiple versions at the same time. Instructions on how to install, manage, and use multiple versions of Node.js can be found elsewhere on the Internet.

®Node.js is a trademark of Joyent, Inc. and is used with its permission. Read Write Tools is not endorsed by or affiliated with Joyent.

Server dependencies