#### Beyond Linux® From Scratch (System V Edition) - Version 12.3

### Chapter 9. General Libraries

- Prev

  mtdev-1.1.7

- Next

  npth-1.8

- Up
- Home

# Node.js-22.14.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.3 platform.

### Package Information

- Download (HTTP): https://nodejs.org/dist/v22.14.0/node-v22.14.0.tar.xz

- Download MD5 sum: 46fbebddd5da0ded77ec54ebb5134b3e

- Download size: 46 MB

- Estimated disk space required: 1.3 GB (add 45 MB for tests)

- Estimated build time: 17 SBU (add 2.8 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.23

#### Recommended

Brotli-1.1.0, c-ares-1.34.4, ICU-76.1, libuv-1.50.0, and nghttp2-1.64.0

#### 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. The system certificate store may need to be set up with make-ca-1.15 before testing 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 over 4200 tests, 5 in the 'parallel' test suite are known to fail.

Now, as the `root` user:

    make install &&
    ln -sf node /usr/share/doc/node-22.14.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-22.14.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.8

- Up
- Home