22.11 Node.js 环境

Node.js 作为基于事件驱动的 JavaScript 运行时,代表了现代 Web 开发技术栈的重要演进。在 FreeBSD 上配置 Node.js 环境,既涉及系统库的版本兼容性问题,也体现了不同技术生态之间的适配与融合。

更新基本系统

在 FreeBSD 上配置 Node.js 环境前,我们需要先了解一些系统兼容性方面的注意事项。使用 pkg 安装的二进制 Node.js 依赖于 /lib/libcrypto.so.xxx 的特定版本,这意味着在 FreeBSD 上使用 Node.js 时,需要关注 FreeBSD 系统的版本,尤其是当你的 pkg 配置使用 latest 源时。

因此,在 FreeBSD 上安装 Node.js 前,应先更新基本系统,然后再进行安装。

Yarn + Node.js

使用 pkg 安装:

# freebsd-update fetch install # 必须先更新基本系统
# pkg install yarn             # 会自动安装对应版本的 nodejs

或使用 ports 安装:

# cd /usr/ports/www/yarn/
# make install clean # 使用 ports 编译可规避上述问题
/
├── usr
   └── ports
       └── www
           └── yarn                  # Yarn 包管理器 Port
└── lib
    └── libcrypto.so.xxx                # OpenSSL 加密库文件

NPM + Node.js

使用 pkg 安装:

或使用 ports 安装:

FreeBSD NPM 换源

设置 npm 使用国内镜像源以加快包下载速度:

该地址为原淘宝镜像站,详情见 https://npmmirror.comarrow-up-right,提供 NPM 国内镜像加速服务说明。

故障排除与未竟事宜

在使用 Node.js 的过程中,可能会遇到一些常见问题。下面我们介绍一些常见的故障排除方法。

ld-elf.so.1 错误

如果你跳过了 FreeBSD 基本系统的更新(freebsd-update fetch install)而直接安装软件,那么在 FreeBSD 上,你将有可能遇到以下错误:

或者如果使用 Ports 编译安装,上述问题不会出现,因为 Ports 会根据当前系统的库版本进行编译。

课后习题

  1. 配置 Node.js + Yarn 环境,使用国内镜像源创建一个简单的 Web 应用并测试运行。

  2. 适配 Bun 包管理器。

最后更新于