为什么修改了源以后,仍然是 https://cdn.npmmirror.com
问题的根本原因在于 npm 仍然尝试从一个不正确的镜像源(https://cdn.npmmirror.com/binaries/npm/)安装 @nestjs/cli,而不是从官方的 npm 源(https://registry.npmjs.org)。即使你已经修改了 npm 的配置,npm 仍然尝试从错误的地址获取包。这可能是因为以下原因之一:
配置未生效:尽管你已经运行了 npm config set registry https://registry.npmjs.org,但配置可能没有生效。
本地配置覆盖:项目中的 .npmrc 文件或 package.json 文件可能覆盖了全局配置。
缓存问题:npm 的缓存可能仍然指向旧的镜像源。
网络问题:网络连接可能存在问题,导致无法正确访问官方源。
解决步骤
1. 确认全局配置
确保全局 npm 配置已经正确切换到官方源:
bash复制
npm config get registry
输出应为:
https://registry.npmjs.org如果输出不是官方源,再次运行以下命令:
bash复制
npm config set registry https://registry.npmjs.org
2. 检查项目本地配置
检查项目中的 .npmrc 文件或 package.json 文件,确保没有本地配置覆盖了全局配置。如果存在本地配置,可以删除或修改它们:
删除项目中的 .npmrc 文件(如果存在):
bash复制
rm .npmrc
检查 package.json 文件,确保没有包含错误的镜像源配置。
3. 清理缓存并重新安装
清理 npm 缓存并重新安装 NestJS CLI:
bash复制
npm cache clean –force
npm install -g @nestjs/cli
4. 使用 npx 创建新项目
如果你只是想快速创建一个 NestJS 项目,可以直接使用 npx,而不需要全局安装 CLI:
bash复制
npx @nestjs/cli new your-project-name
这将自动下载并安装所需的 CLI 工具,然后创建一个新的 NestJS 项目。
5. 检查网络连接
确保你的网络连接正常,能够访问 https://registry.npmjs.org。如果网络连接有问题,可以尝试以下方法:
临时切换网络:尝试切换到其他网络环境,看是否能够成功安装。
使用代理或 VPN:如果你处于网络受限的环境中,可以尝试使用代理或 VPN。
验证安装
安装完成后,运行以下命令验证 NestJS CLI 是否安装成功:
bash复制
nest –version
如果安装成功,你会看到当前安装的 NestJS CLI 版本号。
检查网页链接的合法性
如果你仍然遇到问题,建议检查以下内容:
链接的合法性:确保你尝试访问的链接是正确的。https://cdn.npmmirror.com/binaries/npm/ 是一个镜像源,但它可能不支持某些包或路径不正确。
网络连接:确保你的网络连接正常,能够访问 https://registry.npmjs.org。
重试:尝试重新运行命令,有时网络问题可能是暂时的。
总结
根据你的描述,问题的根本原因是 npm 尝试从一个不正确的镜像源安装 @nestjs/cli。通过以下步骤,可以解决这个问题:
确保全局 npm 配置已经切换到官方源。
检查并清理项目中的本地配置。
清理 npm 缓存并重新安装 NestJS CLI。
如果不需要全局安装,可以直接使用 npx 创建新项目。
确保网络连接正常,能够访问官方源。
如果问题仍然存在,建议检查网络连接或尝试使用代理。