Node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine.
![[Note]](../images/note.png)
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.10.0/node-v20.10.0.tar.xz
Download MD5 sum: 066b989f665c8416ef52f7b14d5086ad
Download size: 40 MB
Estimated disk space required: 1041 MB (add 69 MB for tests)
Estimated build time: 13.7 SBU (add 3.2 SBU for tests: both using parallelism=8 and 8 CPUs online, parts of the tests will use all online CPUs)
c-ares-1.22.1, ICU-74.1, libuv-1.47.0, and nghttp2-1.58.0
http-parser and npm (an internal copy of npm will be installed if not present)
If Python-3.12 is installed, fix the configure script:
sed -e '/python3.11/i command -v python3.12 >/dev/null && exec python3.12 "$0" "$@"' \
-e '/3, 11/s/\(.3, 11.\)/(3, 12), \1/' \
-i configureBuild Node.js by running the following commands:
./configure --prefix=/usr \
--shared-cares \
--shared-libuv \
--shared-openssl \
--shared-nghttp2 \
--shared-zlib \
--with-intl=system-icu &&
makeTo test the results, issue: make test-only.
Now, as the root user:
make install && ln -sf node /usr/share/doc/node-20.10.0
--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-{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.