npm install卡在fetchmetadata或extract阶段,99%因默认源registry.npmjs.org在国内解析慢、tls握手失败或cdn回源超时,需切换为https://registry.npmmirror.com/,清缓存并删除node_modules和package-lock.json后重试。

直接换 registry,别等 npm 自己重试 —— npm install 卡在 fetchMetadata 或 extract 阶段,99% 是因为默认源 registry.npmjs.org 在国内解析慢、TLS 握手失败或 CDN 回源超时,不是你网速差。
确认并切换 npm registry 为阿里镜像
先验证当前源是否生效:npm config get registry。如果返回的不是 https://registry.npmmirror.com/(注意末尾斜杠),立刻执行:
npm config set registry https://registry.npmmirror.com/- 别用
cnpm—— 它生成的package-lock.json与标准npm不兼容,后续npm install会报Invalid package-lock.json - 改完后必须清缓存:
npm cache clean --force - 删掉
node_modules和package-lock.json,再重试npm install
VSCode 终端里 npm 命令找不到或报 .ps1 权限错误
这不是 Node 没装好,而是 VSCode 启动时没继承系统 PATH,或 PowerShell 策略阻止脚本执行:
- 右下角点击终端类型,优先切换成
Command Prompt或Git Bash(最省事) - 若坚持用 PowerShell:以管理员身份打开 PowerShell,运行
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser(不是LocalMachine) - 重启 VSCode —— 必须彻底退出(Windows 任务栏右键 → “退出”,macOS 用
Cmd+Q),只关窗口不生效 - 仍报错?手动把 Node.js 安装路径(如
C:\Program Files\nodejs\)加进系统环境变量PATH
VSCode 扩展市场连不上,Node 相关插件装不了
VSCode 默认连 marketplace.visualstudio.com,该域名在国内常 DNS 污染或 TLS 握手失败,表现为搜索框转圈、安装按钮灰掉:
- 打开
settings.json(Ctrl+,→ 右下角“打开设置 (JSON)”),完全替换extensions.gallery部分:
{
"extensions.gallery": {
"serviceUrl": "https://open-vsx.org/vscode/gallery",
"itemUrl": "https://open-vsx.org/vscode/item"
}
}
- 必须彻底退出 VSCode 再重开,配置才生效
- Open VSX 上没有的插件(如 Microsoft 官方的
ms-vscode.vscode-typescript-next),去https://open-vsx.org网页搜,点 “Download” 拿到.vsix链接,再用命令Extensions: Install from VSIX手动装
真正容易被忽略的是:改 registry 后不删 package-lock.json,npm 仍会尝试从旧源拉包;VSCode 重启不彻底,新终端还是继承旧环境变量;扩展市场换源后没清缓存,旧 gallery 请求还在后台静默失败。这些点卡住时,现象和报错都藏得深,得一个个排除。











