JavaScript - Node.js - インストール - FreeBSD


 クラウディア


1. 概要
2. node インストール
3. npm インストール
4. 参考サイト

1. 概要

 「FreeBSD」へインストールします。

2. node インストール

 以下、「root」ユーザ権限で。  「pkg」でインストールする場合。

pkg install -y node
 「ports」で、インストールする場合。

cd /usr/ports/www/node
 オプションは、ありません。

make NO_DIALOG=yes
 結構、時間がかかります。  途中、エラーが発生しまして。

ld: error: undefined symbol: sqlite3session_changeset
>>> referenced by node_sqlite.cc
>>>               /usr/ports/www/node24/work/node-v24.16.0/out/Release/obj.target/libnode/src/node_sqlite.o:(void node::sqlite::Session::Changeset<&sqlite3session_changeset>(v8::FunctionCallbackInfo<v8::Value> const&)) in archive /usr/ports/www/node24/work/node-v24.16.0/out/Release/obj.target/libnode.a

ld: error: undefined symbol: sqlite3session_patchset
>>> referenced by node_sqlite.cc
>>>               /usr/ports/www/node24/work/node-v24.16.0/out/Release/obj.target/libnode/src/node_sqlite.o:(void node::sqlite::Session::Changeset<&sqlite3session_patchset>(v8::FunctionCallbackInfo<v8::Value> const&)) in archive /usr/ports/www/node24/work/node-v24.16.0/out/Release/obj.target/libnode.a
c++: error: linker command failed with exit code 1 (use -v to see invocation)
gmake[1]: *** [embedtest.target.mk:198: /usr/ports/www/node24/work/node-v24.16.0/out/Release/embedtest] Error 1
gmake[1]: *** Waiting for unfinished jobs....
rm 0422d7edf4c6caf3957c7291518e56b73e5632a3cadb6cd5c6a87de9bd71a49a.intermediate 265b67cb76789a3b9232b1c8da2b4bd2c6da9628a9d0468597fcdda0870322be.intermediate fe563f9b84a440ac01e7ab7f221696325025712de81506aa9d2ecb094a9940c9.intermediate 06ea1ad64201255d02e459fb08e2bc9f5c1db2a73c51d98b4f4f2039f164ce78.intermediate
gmake: *** [Makefile:143: node] Error 2
===> Compilation failed unexpectedly.
Try to set MAKE_JOBS_UNSAFE=yes and rebuild before reporting the failure to
the maintainer.
 これは。

/usr/local/lib/libsqlite3.so
 というライブラリがないためだそうで。

cd /usr/ports/databases/sqlite3

make config
 「SESSION」にチェックをいれて。


make

make reinstall
 これで、再度。

cd /usr/ports/www/node

make NO_DIALOG=yes

make install
 ちなみに、2026年5月28日現在、「ports」には。

ls -lhd /usr/ports/www/node*

drwxr-xr-x 3 root wheel  5  5月 28 09:21 /usr/ports/www/node
drwxr-xr-x 3 root wheel  9  5月  7 08:12 /usr/ports/www/node20
drwxr-xr-x 3 root wheel  9  5月 18 07:13 /usr/ports/www/node22
drwxr-xr-x 4 root wheel 10  5月 28 09:28 /usr/ports/www/node24
drwxr-xr-x 3 root wheel  9  5月 22 07:13 /usr/ports/www/node25
drwxr-xr-x 3 root wheel  9  5月 22 16:19 /usr/ports/www/node26
 と「node20」から「node26」まで、そろっているようです。  単に「node」をインストールしようとすると「node24」がインストールされます。  これは、「node24」が「LTS(Long Term Support)」であるためのようです。

3. npm インストール

 「node」をインストールしたら、「npm(Node Package Manager)」もインストールすべき(必要?)なので、インストールします。  「npm-node」は。

ls -lhd /usr/ports/www/npm-node*

drwxr-xr-x 2 root wheel 3 11月 18  2025 /usr/ports/www/npm-node20
drwxr-xr-x 2 root wheel 3 11月 18  2025 /usr/ports/www/npm-node22
drwxr-xr-x 2 root wheel 6  5月 22 16:19 /usr/ports/www/npm-node24
drwxr-xr-x 2 root wheel 3 11月 18  2025 /usr/ports/www/npm-node25
drwxr-xr-x 2 root wheel 3  5月  8 07:24 /usr/ports/www/npm-node26
 とバージョン指定のないのものがないので。

node --version

v24.16.0
 と「node」のバージョンを確認して、合ったものをインストールします。  この場合は。

cd /usr/ports/www/npm-node24
 オプションはありません。

make NO_DIALOG=yes

make install
 これは、すぐに終わります。

npm --version

11.15.0

4. 参考サイト

 本ページは、「Gemini」伍長を参考にさせていただきました。