切换Node.js至14.15.0后执行Ionic generate page报错:Cannot find module 'node:fs'
解决Ionic generate page时的"Cannot find module 'node:fs'"错误
错误原因
node:fs 是Node.js 16.0.0及以上版本才支持的模块导入语法,你的Node.js 14.15.0不支持该写法。而当前依赖的@ionic/angular-toolkit@8.0.0内部使用了这种导入方式,导致执行命令时抛出找不到模块的错误。
解决方案
方案1:升级Node.js到兼容版本
Angular 12官方支持Node.js 12.x、14.x和16.x LTS版本,推荐切换到Node.js 16.x的LTS版本(比如16.13.0),该版本支持node:fs语法,同时适配你的项目依赖:
# 使用nvm切换版本(如果已安装nvm) nvm install 16.13.0 nvm use 16.13.0 # 重新安装依赖 rm -rf node_modules package-lock.json npm install
方案2:降低@ionic/angular-toolkit版本(保留Node.js 14.15.0)
如果不想升级Node.js,可将@ionic/angular-toolkit降级到兼容Node.js 14的版本,适配Angular 12的版本建议为^6.0.0:
- 修改
package.json中的devDependencies:"@ionic/angular-toolkit": "^6.0.0" - 重新安装依赖:
rm -rf node_modules package-lock.json npm install
验证
执行以下命令确认问题解决:
ionic generate page <page-name>
内容的提问来源于stack exchange,提问作者spardano
相关产品推荐
相关产品推荐

