描述问题
在Node.js版本>=25的环境下,尝试通过pnpm app项目时报错,文末附可能的解决方案
> karin-project@1.0.0 app /home/cherry/TempDir/karin-project
> node index.mjs
[Karin][13:24:28.827][INFO] [ProcessManager] 系统信息 | Node: v25.6.1 | 平台: linux 6.18.9-zen1-2-zen | CPU核心: 16 | 内存: 31GB
[Karin][13:24:28.831][INFO] [ProcessManager] 启动子进程 | PID: 75789 | 入口: app.mjs | 参数: 无
(node:75789) Warning: `--localstorage-file` was provided without a valid path
(Use `node --trace-warnings ...` to show where the warning was created)
file:///home/cherry/TempDir/karin-project/node_modules/.pnpm/node-karin@1.14.3/node_modules/node-karin/dist/index.mjs:6625
var origSlowBufEqual = SlowBuffer.prototype.equal;
^
TypeError: Cannot read properties of undefined (reading 'prototype')
at requireBufferEqualConstantTime (file:///home/cherry/TempDir/karin-project/node_modules/.pnpm/node-karin@1.14.3/node_modules/node-karin/dist/index.mjs:6625:37)
at requireJwa (file:///home/cherry/TempDir/karin-project/node_modules/.pnpm/node-karin@1.14.3/node_modules/node-karin/dist/index.mjs:6789:21)
at requireSignStream (file:///home/cherry/TempDir/karin-project/node_modules/.pnpm/node-karin@1.14.3/node_modules/node-karin/dist/index.mjs:7016:14)
at requireJws (file:///home/cherry/TempDir/karin-project/node_modules/.pnpm/node-karin@1.14.3/node_modules/node-karin/dist/index.mjs:7192:20)
at requireDecode (file:///home/cherry/TempDir/karin-project/node_modules/.pnpm/node-karin@1.14.3/node_modules/node-karin/dist/index.mjs:7224:14)
at requireJsonwebtoken (file:///home/cherry/TempDir/karin-project/node_modules/.pnpm/node-karin@1.14.3/node_modules/node-karin/dist/index.mjs:10170:13)
at ../../node_modules/.pnpm/@karinjs+jsonwebtoken@1.1.1/node_modules/@karinjs/jsonwebtoken/dist/jsonwebtoken.js (file:///home/cherry/TempDir/karin-project/node_modules/.pnpm/node-karin@1.14.3/node_modules/node-karin/dist/index.mjs:10185:27)
at __init (file:///home/cherry/TempDir/karin-project/node_modules/.pnpm/node-karin@1.14.3/node_modules/node-karin/dist/index.mjs:48:56)
at ../../node_modules/.pnpm/@karinjs+jsonwebtoken@1.1.1/node_modules/@karinjs/jsonwebtoken/index.js (file:///home/cherry/TempDir/karin-project/node_modules/.pnpm/node-karin@1.14.3/node_modules/node-karin/dist/index.mjs:10201:5)
at __init (file:///home/cherry/TempDir/karin-project/node_modules/.pnpm/node-karin@1.14.3/node_modules/node-karin/dist/index.mjs:48:56)
Node.js v25.6.1
[Karin][13:24:29.041][INFO] [ProcessManager] 子进程退出 | 退出码: 1 | 运行时间: 492053.4h
[Karin][13:24:29.041][INFO] [ProcessManager] 正在关闭子进程 | PID: 75789 | 运行时间: 492053.4h
[Karin][13:24:29.041][INFO] [ProcessManager] 发送终止信号 | PID: 75789 | 信号: SIGTERM
[Karin][13:24:29.041][INFO] [ProcessManager] 等待进程终止 | PID: 75789 | 超时: 200ms
[Karin][13:24:29.042][INFO] [ProcessManager] 子进程已退出 | PID: 75789
[Karin][13:24:29.043][INFO] [ProcessManager] 父进程退出 | 总运行时间: 0.2s | 重启次数: 0
[Karin][13:24:29.043][INFO] [ProcessManager] 父进程退出 | 总运行时间: 0.2s | 重启次数: 0
复现步骤
- 使用Node.js版本>=25的环境
- 尝试通过
pnpm app启动项目
- 出现上方的报错
预期行为
项目正常启动
实际行为
启动时报错,项目无法启动
操作系统
ArchLinux(内核:6.18.9-zen1-2-zen)
Node.js 版本
25.6.1、pnpm版本10.28.2
项目版本
1.14.3
附加信息
排查过程
背景:SlowBuffer在Node.js 24中已被移除
注意到报错来自于@karinjs/jsonwebtoken@^1.1.1,通过查阅得知,此项目使用了"jsonwebtoken": "^9.0.2"
而jsonwebtoken有现存的关于Node.js 24兼容性Issue,并且此问题已在9.0.3版本中被解决,此版本已在两个月前被发布。
可能的解决方案:升级@karinjs/jsonwebtoken中的jsonwebtoken至9.0.3,由于我未能找到此包的代码仓库,故提出Issue
描述问题
在Node.js版本>=25的环境下,尝试通过
pnpm app项目时报错,文末附可能的解决方案复现步骤
pnpm app启动项目预期行为
项目正常启动
实际行为
启动时报错,项目无法启动
操作系统
ArchLinux(内核:6.18.9-zen1-2-zen)
Node.js 版本
25.6.1、pnpm版本10.28.2
项目版本
1.14.3
附加信息
排查过程
背景:
SlowBuffer在Node.js 24中已被移除注意到报错来自于
@karinjs/jsonwebtoken@^1.1.1,通过查阅得知,此项目使用了"jsonwebtoken": "^9.0.2"而
jsonwebtoken有现存的关于Node.js 24兼容性Issue,并且此问题已在9.0.3版本中被解决,此版本已在两个月前被发布。可能的解决方案:升级
@karinjs/jsonwebtoken中的jsonwebtoken至9.0.3,由于我未能找到此包的代码仓库,故提出Issue