Node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine.
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.
Download (HTTP): https://nodejs.org/dist/v20.18.1/node-v20.18.1.tar.xz
Download MD5 sum: 391712455ed6c448e177e37f8c9ef432
Download size: 41 MB
Estimated disk space required: 1.1 GB (add 44 MB for tests)
Estimated build time: 9 SBU (add 2.3 SBU for tests: both using parallelism=8 and 8 CPUs online, parts of the tests will use all online CPUs)
Brotli-1.1.0, c-ares-1.34.3, ICU-76.1, libuv-1.49.2, and nghttp2-1.64.0
http-parser and npm (an internal copy of npm will be installed if not present)
An Internet connection is needed for some tests of this package.
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.1
--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.