VS2017 Pro + ASP.NET Core 2 + Angular项目npm包安装耗时过长求助
关于ASP.NET Core 2.0+Angular项目npm包还原卡顿的问题解决
我来帮你解决这个头疼的问题,先从你关心的日志问题说起:
一、如何查看npm安装的详细日志
其实有几种方式可以获取到安装过程的日志,帮你定位到底卡在哪里:
- 项目目录下的自动生成日志:npm在执行
install时,默认会在项目的ClientApp目录(ASP.NET Core+Angular项目的前端代码根目录)生成npm-debug.log文件,这个文件会记录安装过程中的所有细节,包括每个包的下载、解压、依赖处理步骤,哪怕安装没完成,也能看到当前卡在哪个环节。 - VS输出窗口日志:打开VS的「输出」窗口(可以通过菜单栏「视图」->「输出」调出),在窗口顶部的下拉菜单里选择「npm」,就能看到VS调用npm时的实时日志输出。如果没找到「npm」选项,也可以看「Build」分类的日志,里面会包含npm还原的相关信息。
- 命令行 verbose 日志:如果你手动在命令行执行npm安装,加上
--verbose参数就能输出最详细的日志,命令是:
这样能清晰看到每个请求的状态,比如某个包的下载链接、响应速度,甚至是超时情况。npm install --verbose
二、解决npm安装卡顿的实用方案
针对你遇到的长时间卡在还原的情况,我整理了几个大概率能解决问题的方法:
- 切换国内npm镜像源:这是最常见的解决国内访问npm官方源慢的方法。执行以下命令切换到国内的npm镜像:
切换完成后再重新执行npm config set registry https://registry.npmmirror.comnpm install,速度会有明显提升。如果只是临时想用一次国内源,也可以直接在install命令里指定:npm install --registry=https://registry.npmmirror.com - 清理npm缓存并重建依赖:有时候缓存的损坏会导致安装过程中出现异常卡顿。按以下步骤操作:
- 执行命令清理缓存:
npm cache clean --force - 删除项目
ClientApp目录下的node_modules文件夹和package-lock.json文件 - 重新执行
npm install
- 执行命令清理缓存:
- 配置VS使用系统最新版npm:VS自带的npm版本可能和你安装的最新版不一致,导致兼容性问题。你可以按以下步骤修改VS的npm路径:
- 打开VS的「工具」->「选项」
- 依次展开「项目和解决方案」->「Web包管理」->「npm」
- 在「npm路径」里选择你系统中最新版的npm(一般路径是
C:\Users\[你的用户名]\AppData\Roaming\npm\npm.cmd),而不是VS自带的npm路径
- 跳过VS自动还原,手动安装依赖:创建项目时,可以先取消勾选「启用包还原」之类的选项(如果有的话),然后自己打开项目的
ClientApp目录,在命令行里手动执行npm install,这样能更直观地控制安装过程,也能实时看到日志。 - 检查网络代理设置:如果是在公司网络环境下,可能存在代理限制。可以先检查npm的代理配置:
如果有不需要的代理,执行以下命令删除:npm config get proxy npm config get https-proxy
如果需要代理,就配置正确的代理地址:npm config delete proxy npm config delete https-proxynpm config set proxy http://你的代理地址:端口 npm config set https-proxy http://你的代理地址:端口
内容的提问来源于stack exchange,提问作者NestorArturo
相关产品推荐
相关产品推荐

