Node.js-20.18.0

Introduction to Node.js

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

[Note]

Note

Development versions of BLFS may not build or run some packages properly if LFS or dependencies have been updated since the most recent stable versions of the books.

Package Information

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

  • Download MD5 sum: 2e59511d65c64338b1cf5504c9e18d53

  • Download size: 40 MB

  • Estimated disk space required: 978 MB (add 35 MB for tests)

  • Estimated build time: 10 SBU (add 7.5 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

Optional

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

[Note]

Note

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

Installation of Node.js

First, fix building this package with ICU-76:

sed '/pkgicu/s/icu-i18n/& icu-uc/' -i configure.py

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 4100 tests, 11 in the 'parallel' test suite are known to fail.

Now, as the root user:

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