创建Angular 4应用时出现npm ERR! write after end错误的原因与解决建议
兄弟,我之前创建Angular项目的时候也碰到过一模一样的npm ERR! write after end错误,折腾了一阵终于解决了,给你说说可能的原因和对应的解决办法:
可能的原因
- npm本地缓存损坏:这是最常见的诱因,npm缓存文件损坏后,在下载依赖包的过程中会出现写入流异常中断,直接抛出这个错误。
- 网络连接不稳定:创建Angular 4应用需要从npm仓库拉取大量依赖包,如果网络波动导致连接中途断开,也会触发这类写入错误。
- npm版本不兼容:Angular 4对npm版本有特定要求,如果你当前的npm版本过高或过低,很可能会出现兼容性问题,引发该错误。
解决方案
按照下面的步骤一步步来,基本能解决问题:
彻底清理npm缓存
先执行强制清理缓存的命令,确保把损坏的缓存文件全部删掉:npm cache clean --force清理完成后,验证缓存状态是否正常:
npm cache verify删除不完整的项目目录
之前执行ng new a4app已经生成了不完整的项目文件夹,先把它删掉避免干扰:rm -rf ~/Desktop/angular/a4app调整npm版本到兼容Angular 4的范围
Angular 4推荐使用npm 3.x到5.x之间的版本,你可以先查看当前npm版本:npm -v如果版本不合适,建议用nvm(Node版本管理器)切换到适配的版本,比如安装对应npm 5.6.0的Node 8.11.1:
nvm install 8.11.1 nvm use 8.11.1重新创建Angular应用
完成上面的步骤后,重新执行创建命令:ng new a4app如果还是有问题,可以先跳过自动安装依赖,手动安装:
ng new a4app --skip-install cd a4app npm install切换npm镜像源(针对网络问题)
如果是网络不稳定导致的下载失败,可以切换到国内的镜像源,比如淘宝镜像:npm config set registry https://registry.npmmirror.com/设置完成后再尝试创建项目或安装依赖。
内容的提问来源于stack exchange,提问作者Anjan Biswas
相关产品推荐
相关产品推荐

