首页 前端知识 npm i卡在 idealTree buildDeps没反应的解决方案

npm i卡在 idealTree buildDeps没反应的解决方案

2024-04-19 21:04:32 前端知识 前端哥 1045 403 我要收藏

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

关键点:IdealTree

1.网络问题

确保你的网络连接正常,能够正常访问 npm 仓库。有时网络问题可能导致包无法正确下载

 开始以为是网络问题,检查了自己的网络是可以正常浏览网页的,并且自己的VPN或者代理是没有开启的。

下包嘛,等个3-4分钟也是正常的,但是10分钟过去了,依旧没有反应......就很那啥,主要是没有报错也没中断啥的。

2.npm 缓存问题

可以清除下npm的缓存试试,或者把原来的node_modules文件删掉再重新npm i试下。

方法1:可以运行以下命令清除 npm 缓存(建议)

npm cache clean --force

然后再次运行 npm install

方法2:手动删除缓存文件夹

  1. 找到 npm 缓存的文件夹。根据你的操作系统,缓存文件夹的位置可能有所不同:在 Windows 上,通常在 %AppData%\npm-cache 目录下。

  2. 删除缓存文件夹中的所有内容。你可以使用以下命令:

    rmdir /s /q %AppData%\npm-cache
  3. 注意: 手动删除文件夹的操作要谨慎,确保你只删除了 npm 缓存文件夹而不是其他重要文件夹。

  4. 删除缓存后,可以再次运行 npm install 来安装项目的依赖项。

通过清除npm的缓存,但是还是没有效果

 3.镜像源问题

选择一个适合你网络环境的 npm 镜像源,以提高包的下载速度

下包卡住可能是源引起的,因为默认的官方源是国外的,而我们却在国内。

查看当前的 npm 镜像源:

npm config get registry

 如图可见我用的是国内的淘宝源:

本人使用的是国内的淘宝源,没有问题

 下面是切换源的方法:

1.使用淘宝镜像源

npm config set registry https://registry.npm.taobao.org/

2.使用官方镜像源(还原为默认)

npm config set registry https://registry.npmjs.org/

3.镜像源加速工具

除了手动切换镜像源外,还有一些工具可以帮助你在需要时快速切换。例如,nrmnpm registry manager)是一个方便的工具,可以管理 npm 镜像源

安装 nrm

npm install -g nrm

使用 nrm 切换源

查看所有可用的镜像源:

nrm ls

使用 nrm 切换为淘宝源:

nrm use taobao

使用 nrm 切换为官方源:

nrm use npm

4.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

 请确保在执行此操作之前备份你的项目(如果正在执行项目特定的更新),以防发生意外情况。

5.镜像源地址替换问题(重要)

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 严格检测来跳过该验证。

6.绕过SSL证书检查(非严格的 SSL 模式)

非必要不推荐

npm 在下载包的过程中会验证 SSL 证书的有效性,确保下载的包是安全可靠的。但在某些特殊情况下,比如使用了自定义的 npm 镜像源或是镜像源配置有问题导致 SSL 证书无法通过验证时,可能会导致安装失败。

 下面这个命令的作用是用来设置 npm 使用非严格的 SSL 模式,允许在安装包时忽略 SSL 证书的有效性,从而绕过SSL证书检查。

npm config set strict-ssl false

 设置 strict-ssl 为 false 会带来一定的风险,因为这样做会降低安全性,使得下载的包可能受到中间人攻击的风险。因此,建议只在必要的情况下使用该命令,并在调试或特殊情况下及时恢复为严格的 SSL 模式,以确保包的安全性。

虽然可以解决在特定情况下 SSL 证书验证失败导致的包无法下载的问题,但同时也带来了安全风险,需要慎重使用。

上面讲的几种可能性,希望能帮助到大家,谢谢

转载请注明出处或者链接地址:https://www.qianduange.cn//article/5354.html
标签
评论
发布的文章

JQuery中的load()、$

2024-05-10 08:05:15

大家推荐的文章
会员中心 联系我 留言建议 回顶部
复制成功!