新机器Node.js找不到couchbase模块,旧机器正常,npm安装无报错
解决Couchbase模块加载ERR_DLOPEN_FAILED问题
错误背景
执行npm install couchbase --save后启动项目,出现模块找不到错误,报错文件实际存在但路径带有\\?\前缀,已尝试卸载重装依赖、删除node_modules和package-lock.json、修复Node.js均无效,当前使用Node.js v22.14.0。
解决方案
降级Node.js到兼容LTS版本
Couchbase v4.4.5对Node.js v22的兼容性支持有限,建议切换到Node.js v20.x LTS版本:- 用nvm安装指定版本:
nvm install 20.17.0 - 切换到该版本:
nvm use 20.17.0 - 清理依赖后重新安装:
rm -rf node_modules package-lock.json && npm install
- 用nvm安装指定版本:
安装微软Visual C++ Redistributable运行库
.node二进制文件依赖VC++运行库,Windows环境下需安装对应版本(推荐2019或2022版),安装完成后重启电脑,再尝试启动项目。手动指定预编译包架构
自动下载的预编译包可能存在架构不匹配问题,手动指定后重新安装:- 卸载现有Couchbase:
npm uninstall couchbase - 设置环境变量指定x64架构:
set npm_config_arch=x64 - 重新安装:
npm install couchbase --save
- 卸载现有Couchbase:
从源码编译Couchbase
若预编译包始终无法兼容,尝试源码编译:- 安装编译依赖:Windows需安装Python 3.8+、Visual Studio Build Tools(勾选C++开发工具组件)
- 执行编译安装命令:
npm install couchbase --save --build-from-source
内容的提问来源于stack exchange,提问作者Gerry Winning
相关产品推荐
相关产品推荐

