Node.js is a free, open-source, cross-platform JavaScript runtime environment
that lets developers create servers, web apps, command line tools and scripts.
===> The following configuration options are available for node24-24.21.0_4:
BUNDLED_SSL=off: Use bundled OpenSSL implementation from node.js
DOCS=on: Build and/or install documentation
JIT=on: Use Just In Time compiler
===> Use 'make config' to modify these settings
Reason:
www/node{22,24,25} now uses databases/sqlite3 instead of the bundled one.
It requires SESSION option (enabled by default) in databases/sqlite3.
Please update your option configuration. Otherwise, the build fails.
See PR 290509 and 290588 for details.
Affects: users of USES=nodejs, www/node*, www/npm* and www/yarn*
Author: sunpoet@FreeBSD.org
Reason:
The current USES=nodejs has the following issues:
- www/node is not the default version while www/node16 is.
- It also means inconsistent naming of node ports.
- www/npm duplicates with www/npm-node16.
- www/yarn duplicates with www/yarn-node16.
The notable changes are introduced to fix the above issues:
- Rewrite Mk/Uses/nodejs.mk.
- Add new LTS version of nodejs (www/node18).
- Add new current version of nodejs (www/node19).
- Change default nodejs version from 16 to 18 (latest LTS),
- Use consistent naming for all supported node versions.
- Convert www/node, www/npm and www/yarn to meta ports.
After these changes:
- All supported node versions are named as node{14,16,18,19}.
- www/node is a meta port which depends on the default version
(e.g. www/node18)
- www/npm is a meta port which depends on the default version
(e.g. www/npm-node18)
- www/yarn is a meta port which depends on the default version
(e.g. www/yarn-node18)
2021-11-10
Affects: users of www/node*, www/npm*, www/yarn*
Author: mfechner@FreeBSD.org
Reason:
The port framework was updated to use a default version for nodejs.
The default version is pointing to the latest LTS version which is
currently version 16.
You can overwrite this by defining in /etc/make.conf, e.g. version 17:
DEFAULT_VERSIONS=nodejs=17
Or if you would like to stick always to the current version use:
DEFAULT_VERSIONS=nodejs=current
If you would like to use yarn or npm together with nodejs version 17,
just install the package that is pulling the wanted dependency to nodejs:
# pkg install yarn-node17
# pkg install npm-node17
port moved here from www/node23 on 2025-06-30 REASON: Remove expired port. Node.js 23.* will reach its EoL on 2024-06-01. Use Node.js 24.* (www/node24) instead
www/node2{2,4}: fix safepoints after calls on powerpc64*
Backport V8 f331137d5968 and 3d0a73103b97. The assembler can put its
trampoline pool right after a call, and the safepoint and exception
handler for that call are then recorded at the wrong address, so the
GC can scan the wrong stack slots and exceptions can skip their catch
block.
www/node24: drop -mpower8-vector
simdutf enables its POWER code whenever AltiVec is available, but that
code needs POWER8. Backport simdutf 573d42d7, which also checks for
POWER8, and drop the flag. There are no official powerpc64 packages,
so anyone who wants the POWER8 code can set CPUTYPE.
www/node2{2,4,6}: detect the CPU on powerpc64*
V8 only detects the CPU on Linux and AIX. On FreeBSD it assumes the
oldest CPU it supports, so node 22 and 24 never use POWER9 code and
reject every Wasm module that uses SIMD. Read the ISA level from
AT_HWCAP and AT_HWCAP2 instead.
www/node2{2,4,6}: Use bundled merve to avoid loading two simdutfs
node dies with SIGBUS (signal 10) the first time it lexes the exports
of a CommonJS module, e.g. early in any `npm install`, for example
www/tailwindcss4 fails to build, reporting "*** Signal 10".
Running lldb inside poudriere build, because we get a core dump:
frame #0 libsimdutf.so.36 simdutf::detail::find(...) +77: jmpq *%rax
frame #1 libmerve.so.1 lexer::CJSLexer::addReexport(...)
...
frame #6 node node::cjs_lexer::Parse(...)
rax = 0x4444444443434343 ("CCCCDDDD", string data)
(Only the first 15 lines of the commit message are shown above )
www/node2{0,2,4,5}: Don't depend on security/ca_root_nss anymore
When node.js is being build with an external OpenSSL (shared linking) the option
'--openssl-use-def-ca-store' ensures that OpenSSL uses the system truststore
managed by certctl(8). If the bundled OpenSSL is used node.js comes also bundled
with a Mozilla CA bundle as well. In any case security/ca_root_nss is not
required.
PR: 291482
Approved by: sunpoet (maintainer)
www/node24: Use bundled sqlite3
- Bump PORTREVISION for dependency and package change
nodejs 22+ needs sqlite3 with SESSION enabled.
PR: 290509
Reported by: dim
www/node24: Add node24 24.0.0
Node.js is a free, open-source, cross-platform JavaScript runtime environment
that lets developers create servers, web apps, command line tools and scripts.