通过git clone拉下项目后,进行项目的初始化下包时,发现npm i 并没有反应(如图):
关键点:IdealTree

确保你的网络连接正常,能够正常访问 npm 仓库。有时网络问题可能导致包无法正确下载
开始以为是网络问题,检查了自己的网络是可以正常浏览网页的,并且自己的VPN或者代理是没有开启的。
下包嘛,等个3-4分钟也是正常的,但是10分钟过去了,依旧没有反应......就很那啥,主要是没有报错也没中断啥的。
可以清除下npm的缓存试试,或者把原来的node_modules文件删掉再重新npm i试下。
npm cache clean --force
然后再次运行 npm install
找到 npm 缓存的文件夹。根据你的操作系统,缓存文件夹的位置可能有所不同:在 Windows 上,通常在 %AppData%\npm-cache 目录下。
删除缓存文件夹中的所有内容。你可以使用以下命令:
rmdir /s /q %AppData%\npm-cache 注意: 手动删除文件夹的操作要谨慎,确保你只删除了 npm 缓存文件夹而不是其他重要文件夹。
删除缓存后,可以再次运行 npm install 来安装项目的依赖项。
通过清除npm的缓存,但是还是没有效果
选择一个适合你网络环境的 npm 镜像源,以提高包的下载速度。
下包卡住可能是源引起的,因为默认的官方源是国外的,而我们却在国内。
查看当前的 npm 镜像源:
npm config get registry
如图可见我用的是国内的淘宝源:
本人使用的是国内的淘宝源,没有问题

下面是切换源的方法:
npm config set registry https://registry.npm.taobao.org/
npm config set registry https://registry.npmjs.org/
除了手动切换镜像源外,还有一些工具可以帮助你在需要时快速切换。例如,nrm(npm registry manager)是一个方便的工具,可以管理 npm 镜像源。
安装 nrm
npm install -g nrm
使用 nrm 切换源
查看所有可用的镜像源:
nrm ls
使用 nrm 切换为淘宝源:
nrm use taobao
使用 nrm 切换为官方源:
nrm use npm
可能是npm版本过低的问题,可以尝试更新下npm的版本,但是一般公司的npm版本不会很高,因为公司的项目有好多是老项目的,有些特殊的需要指定的版本,所以不要乱搞了啦
我这并不是这个版本问题
查看已安装包的版本:
npm list
要更新 npm 到最新版本,你可以使用以下命令:
npm install -g npm@latest
这会全局安装 npm 的最新版本。-g 选项表示全局安装,npm@latest 指定要安装的包和版本。
请注意,这需要管理员(root)权限。如果你用的是苹果电脑,就是在 macOS 系统上,你可能需要在命令前添加 sudo。
sudo npm install -g npm@latest
请确保在执行此操作之前备份你的项目(如果正在执行项目特定的更新),以防发生意外情况。
2024 年 1 月 22 日 ,registry.npm.taobao.org 的 SSL 证书正式过期。
2022 年 5 月 淘宝源发布了公告:
(大家应该没有太多关注哦,也包括我,哈哈)
!!!!!!!!!!!!!!!!!
淘宝镜像源地址由 registry.npm.taobao.org 替换为 registry.npmmirror.com 。
!!!!!!!!!!!!!!!!!
- // 切换源之前最好清下npm的缓存
- npm cache clean --force
- //切换为最新的 taobao 源
- npm config set registry https://registry.npmmirror.com
原来是官方源已经替换了,恍然大悟了,当我切换后可以正常下载了

如图所示已经没有问题了,以下就搞完了,成功解决。
并不意味着 taobao 源完全废弃,我们依旧可以通过关闭 SSL 严格检测来跳过该验证。
非必要不推荐
npm 在下载包的过程中会验证 SSL 证书的有效性,确保下载的包是安全可靠的。但在某些特殊情况下,比如使用了自定义的 npm 镜像源或是镜像源配置有问题导致 SSL 证书无法通过验证时,可能会导致安装失败。
下面这个命令的作用是用来设置 npm 使用非严格的 SSL 模式,允许在安装包时忽略 SSL 证书的有效性,从而绕过SSL证书检查。
npm config set strict-ssl false
设置 strict-ssl 为 false 会带来一定的风险,因为这样做会降低安全性,使得下载的包可能受到中间人攻击的风险。因此,建议只在必要的情况下使用该命令,并在调试或特殊情况下及时恢复为严格的 SSL 模式,以确保包的安全性。
虽然可以解决在特定情况下 SSL 证书验证失败导致的包无法下载的问题,但同时也带来了安全风险,需要慎重使用。
上面讲的几种可能性,希望能帮助到大家,谢谢