Angular执行ng build --watch报TS2661无法导出Buffer错误怎么解决
错误说明
你在执行ng build --watch时遇到的报错如下:
Error: node_modules/@types/node/buffer.d.ts:90:14 - error TS2661: Cannot export 'Buffer'. Only local declarations can be exported from a module.
该报错的核心原因是项目中安装的@types/node版本和当前Angular项目依赖的TypeScript版本不兼容,高版本的@types/node使用了旧版TypeScript不支持的导出语法。
可用解决方案
- 方案1:降级
@types/node到兼容版本
先卸载当前安装的@types/node:
npm uninstall @types/node
再安装经过验证的兼容版本16.18.3:
npm install @types/node@16.18.3 --save-dev
安装完成后重新执行构建命令即可。
- 方案2:跳过声明文件类型检查
如果不想调整依赖版本,可以直接修改项目根目录下的tsconfig.json文件,在compilerOptions节点下添加配置:
"skipLibCheck": true
该配置会跳过所有第三方库的类型声明文件检查,不会影响你自己编写的业务代码的类型校验,修改保存后重新构建即可生效。
- 方案3:升级TypeScript到匹配版本
如果项目允许升级依赖,可以将TypeScript升级到和当前@types/node适配的版本:
npm install typescript@latest --save-dev
升级前请确认你当前使用的Angular版本支持升级后的TypeScript版本,避免出现其他兼容性问题。
内容的提问来源于stack exchange,提问作者khoudi Anis
相关产品推荐
相关产品推荐

