Node.js-20.16.0

#### Beyond Linux® From Scratch (systemd Edition) - Version 12.2

### Chapter 9. General Libraries

- Prev

  mtdev-1.1.7

- Next

  npth-1.7

- Up
- Home

# Node.js-20.16.0

## Introduction to Node.js

Node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine.

This package is known to build and work properly using an LFS 12.2 platform.

### Package Information

- Download (HTTP): https://nodejs.org/dist/v20.16.0/node-v20.16.0.tar.xz

- Download MD5 sum: 7832164e52741a743106c5aadd34cdee

- Download size: 40 MB

- Estimated disk space required: 1.0 GB (add 67 MB for tests)

- Estimated build time: 12 SBU (add 2.9 SBU for tests: both using parallelism=8 and 8 CPUs online, parts of the tests will use all online CPUs)

### Node.js Dependencies

#### Required

Which-2.21

#### Recommended

Brotli-1.1.0, c-ares-1.33.0, ICU-75.1, libuv-1.48.0, and nghttp2-1.62.1

#### Optional

http-parser and npm (an internal copy of npm will be installed if not present)

### Note

An Internet connection is needed for some tests of this package.

## Installation of Node.js

Build Node.js by running the following commands:

    ./configure --prefix=/usr          \
                --shared-brotli        \
                --shared-cares         \
                --shared-libuv         \
                --shared-openssl       \
                --shared-nghttp2       \
                --shared-zlib          \
                --with-intl=system-icu &&
    make

To test the results, issue: make test-only. Out of 4096 tests, 25 in the 'parallel' test suite are known to fail.

Now, as the `root` user:

    make install &&
    ln -sf node /usr/share/doc/node-20.16.0

## Command Explanations

`--with-intl=system-icu`: use the system version of icu. Other values are `full-icu` (to build a local, full icu library) and `small-icu` (to build a local, minimal icu library).

`--shared-{brotli,cares,libuv,nghttp2,openssl,zlib}`: use the system installed libraries instead of local copies.

`--without-npm`: do not build npm (use if you'd like to build a separate npm later).

`--shared-http-parser`: use the system installed library instead of a local copy.

## Contents

Installed Programs: corepack, node, npm, and npx
Installed Library: None
Installed Directories: /usr/include/node, /usr/lib/node_modules/{corepack,npm}, /usr/share/doc/{node,node-20.16.0}, and /usr/share/systemtap/tapset

### Short Descriptions

corepack | is an experimental tool to help with managing versions of package managers.
node | is the server-side JavaScript runtime
npm | is the Node.js package manager
`/usr/lib/node_modules/npm/` | is the installation root for Node.js executables and libraries

- Prev

  mtdev-1.1.7

- Next

  npth-1.7

- Up
- Home