What is the preferred way of installing NodeJS?

This page summarizes the projects mentioned and recommended in the original post on /r/node

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
  • volta

    Volta: JS Toolchains as Code. ⚡

  • I use https://volta.sh to manage the NodeJS versions in projects. It has a pin feature where it will define a section to record the NodeJS version and yarn version used the the package.json so every time I navigated to the project it will pick up the right version.

  • Chocolatey

    Chocolatey - the package manager for Windows

  • Windows -> Chocolately https://chocolatey.org/ choco install nodejs

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • n

    Node version management

  • I prefer this: https://www.npmjs.com/package/n

  • nvm

    Node Version Manager - POSIX-compliant bash script to manage multiple active node.js versions

  • Usually nvm, but lately I use volta more and more.

  • asdf

    Extendable version manager with support for Ruby, Node.js, Elixir, Erlang & more

  • distributions

    NodeSource Node.js Binary Distributions

  • Later on i discovered this script made by NodeSource that installs Node via their own repositories and then almost stopped installing binaries manually, i still do it though, but whenever possible i try to use that script

  • js-untar

    Library for reading tar files in the browser.

  • let fileSystemHandle = await showSaveFilePicker({suggestedName: 'node'}), writable, writer; await import('https://cdnjs.cloudflare.com/ajax/libs/pako/2.0.4/pako.min.js'); try { await import('https://unpkg.com/js-untar@2.0.0/build/dist/untar.js'); } catch (e) { console.log(e); } finally { // https://stackoverflow.com/a/65448758 const request = await fetch('node-v16.14.2-linux-x64.tar.gz'); const buffer = await request.arrayBuffer(); // Download gzipped tar file and get ArrayBuffer const decompressed = await pako.inflate(buffer); // Decompress gzip using pako const files = await untar(decompressed.buffer); // Get ArrayBuffer from the Uint8Array pako returns, untar, js-untar returns a list of files (See https://github.com/InvokIT/js-untar#file-object for details) writable = await fileSystemHandle.createWritable(); writer = writable.getWriter(); const file = files.find( ({ name }) => name === 'node-v16.14.2-linux-x64/bin/node' ).buffer; await writer.write(file); await writer.close(); }

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts