Debian 9, code-named stretch, is the latest edition of Debian. Because of security issues and lack of maintainers to keep it updated, it’s not recommended to install Node.js on Debian 9 from the official Debian 9 repository. Here’s what the Release Notes have to say about Node.js on Debian 9:

The Node.js platform is built on top of libv8-3.14, which experiences a high volume of security issues, but there are currently no volunteers within the project or the security team sufficiently interested and willing to spend the large amount of time required to stem those incoming issues.

Unfortunately, this means that libv8-3.14, nodejs, and the associated node-* package ecosystem should not currently be used with untrusted content, such as unsanitized data from the Internet.

In addition, these packages will not receive any security updates during the lifetime of the stretch release.

That’s why you need to find a secure and reliable source for installing Node.js on Debian 9. In this tutorial, you’ll learn a quick and easy method of installing the long-term support (LTS) version of Node.js from a known and trusted source. Installing Node.js also installs npm.

The secure and reliable source we’ll use is NodeSource, an outfit that provides support for Node.js. To install both applications, use the following commands:

# To install install Node.js and npm, you first need to install curl

sudo apt install curl

# Then use this command to add the required repository to your system.
# The command will also update the package database afterwards

curl -sL https://deb.nodesource.com/setup_6.x | sudo bash -
  
# Use this command to install Node.js and npm 

sudo apt install nodejs

# Finally, verify that Node.js is installed
# > indicates output

node --version

> v6.11.0

# You may also use this command to provide more details about the installed packages
# > indicates output

npm version

> { npm: '3.10.10',
>   ares: '1.10.1-DEV',
>   http_parser: '2.7.0',
>   icu: '56.1',
>   modules: '48',
>   node: '6.11.0',
>   openssl: '1.0.2k',
>   uv: '1.11.0',
>   v8: '5.1.281.102',
>   zlib: '1.2.11' }

#

That gives you Node.js 6.x LTS. Support for it is available until April 2019.

Node.js logo