全网最全的“npm install 安装停留在 idealTree:node_global: sill idealTree buildDeps ”解决方法

25,662次阅读
没有评论

共计 3529 个字符,预计需要花费 9 分钟才能阅读完成。

问题出现:

        为了下载 yuque 文档,在 github 上找了个方案,可是在使用 npm 安装模块的时候,总是提示 idealTree:node_global: sill idealTree buildDeps,找遍全网,都是单个的解决方案,特做个方案汇总,给再次遇到这个问题的一个指引。

        这也是为了重洗激活 CSDN 的原力值和本人在网上的第一篇博客,随便 Mark 一下。写得不好,还请海涵。

        说明一下:下文的 1,2,3 解决方法失败,并不是不能解决,只是对于本人的计算机环境无法解决。

安装模块

 npm i 

长时间卡在 sill idealTree buildDeps

 idealTree:node_global: sill idealTree buildDeps

过了很久提示:

全网最全的“npm install 安装停留在 idealTree:node_global: sill idealTree buildDeps”解决方法

查看 log 文件,发现是访问镜像出错,无法链接。按网上找的方法,一 一实验:

解决方法:

方法 1、换源(失败)

 npm config set registry https://registry.npmmirror.com   // 淘宝镜像
 npm config set registry https://registry.npmjs.org/     // 默认镜像
 npm config get registry                                 // 查看换源结果
 ​
 npm config delete registry      // 删除镜像 

方法 2、删除缓存(失败)

 删除文件:c:user.npmrc
 清理缓存:npm cache verify
 重新设置源镜像安装 

方法 3、设置 & 删除代理(失败)

 npm config get proxy
 npm config get https-proxy
 #删除代理
 npm config set proxy null
 npm config set https-proxy null
 ​
 npm config set strict-ssl false   // 设置是否认证 

方法 4、设置为 IPV4 优先(成功的方法)

全网最全的“npm install 安装停留在 idealTree:node_global: sill idealTree buildDeps”解决方法

发现返回的镜像网址是 ipv6 的,ping 了一下看看通不通:

 npm ping 240e:978:306:3:3::3fa:443

全网最全的“npm install 安装停留在 idealTree:node_global: sill idealTree buildDeps”解决方法

发现没办法 ping 通,但是直接网页访问镜像网址是正常的。

https://registry.npmmirror.com/
4.1 查看网络前缀访问优先级
 netsh interface ipv6 show prefixpolicies
4.2 调整网络前缀优先级,让 IPv4 访问优先
netsh interface ipv6 set prefixpolicy ::ffff:0:0/96 100 4
4.3 验证是否生效
 netsh interface ipv6 show prefixpolicies

全网最全的“npm install 安装停留在 idealTree:node_global: sill idealTree buildDeps”解决方法

前缀的含义:

 在 IANA IPv6 Special-Purpose Address Registry 中我们可以找到这些前缀的分配归属。​
 ::1/128:本地回环地址,类似 IPv4 中的 127.0.0.1
 ::/0: IPv6 单播地址
 ::ffff:0:0/96: IPv4 地址范围
 2002::/16: 6to4,具体详见 RFC3056: Connection of IPv6 Domains via IPv4 Clouds
 2001::/32: TEREDO,具体详见 RFC4380: Teredo: Tunneling IPv6 over UDP through Network Address Translations (NATs)
 fc00::/7: Unique-Local,具体详见 RFC4193: Unique Local IPv6 Unicast Addresses
4.4 再次 ping 镜像

全网最全的“npm install 安装停留在 idealTree:node_global: sill idealTree buildDeps”解决方法

全网最全的“npm install 安装停留在 idealTree:node_global: sill idealTree buildDeps”解决方法

ping 通了

4.5 重新安装模块
 npm i 

全网最全的“npm install 安装停留在 idealTree:node_global: sill idealTree buildDeps”解决方法

成功!

总结

按网上找到的方法 1,2,3 都无法解决我出现的问题,甚至按

 https://github.com/npm/cli/issues/4085
 https://github.com/npm/npm/issues/8731

在 host 里面增加镜像的 ipv6 地址,都不行。后来发现 ipv6 无法访问,但 ipv4 可以,修改 windows 的网络访问优先级,终于成功。

1 如何重新设置 IPv6 访问优先 两种方式,直接重置

        1. 重置 IPv6 策略

 netsh interface ipv6 reset

# 重启电脑

        2. 调整网络前缀优先级

调整网络前缀优先级,重启之后也是生效的。

2 netsh interface ipv6 相关命令如何使用

 C:Windowssystem32>netsh interface ipv6
 ​
 下列指令有效:
 ​
 此上下文中的命令:
 6to4           - 更改到 `netsh interface ipv6 6to4' 上下文。?              - 显示命令列表。add            - 在一个表格中添加一个配置项。delete         - 从一个表格中删除一个配置项。dump           - 显示一个配置脚本。help           - 显示命令列表。isatap         - 更改到 `netsh interface ipv6 isatap' 上下文。reset          - 重置 IP 配置。set            - 设置配置信息。show           - 显示信息。​
 下列的子上下文可用:
  6to4 isatap
 ​
 若需要命令的更多帮助信息,请键入命令,接着是空格,后面跟 ?。​
 C:Windowssystem32>netsh interface ipv6 show
 ​
 下列指令有效:
 ​
 此上下文中的命令:
 show addresses - 显示当前 IP 地址。show compartments - 显示分段参数。show destinationcache - 显示目标缓存项目。show dnsservers - 显示 DNS 服务器地址。show dynamicportrange - 显示动态端口范围配置参数。show excludedportrange - 显示所有排除的端口范围。show global    - 显示全局配置普通参数。show interfaces - 显示接口参数。show ipstats   - 显示 IP 统计。show joins     - 显示加入的多播组。show neighbors - 显示邻居缓存项。show offload   - 显示卸载信息。show potentialrouters - 显示潜在路由器。show prefixpolicies - 显示前缀策略项目。show privacy   - 显示隐私配置参数。show route     - 显示路由表项目。show siteprefixes - 显示站点前缀表项。show subinterfaces - 显示子接口参数。show tcpstats  - 显示 TCP 统计。show teredo    - 显示 Teredo 状态。show tfofallback - 显示各网络 TCP 快速打开回退状态。show udpstats  - 显示 UDP 统计。​
 C:Windowssystem32>netsh interface ipv6 add
 ​
 下列指令有效:
 ​
 此上下文中的命令:
 add address    - 将静态 IP 地址或默认网关添加到指定接口。add dnsservers - 添加一个静态 DNS 服务器地址。add excludedportrange - 为连续的端口块添加排除。add neighbors  - 添加邻居地址。add potentialrouter - 将路由器添加到接口的潜在路由器列表上。add prefixpolicy - 添加前缀策略项目。add route      - 在接口上添加路由。add v6v4tunnel - 创建一个“IPv4 中的 IPv6”点对点隧道。​
 C:Windowssystem32>netsh interface ipv6 set
 ​
 下列指令有效:
 ​
 此上下文中的命令:
 set address    - 设定通向接口的 IP 地址或默认网关。set compartment - 修改分段配置参数。set dnsservers - 设置 DNS 服务器模式和地址。set dynamicportrange - 修更改态端口分配所使用端口的范围。set global     - 修改全局配置常规参数。set interface  - 修改 IP 的接口配置参数。set neighbors  - 设置邻居地址。set prefixpolicy - 修改前缀策略信息。set privacy    - 修改隐私配置参数。set route      - 修改路由参数。set subinterface - 修改子接口配置参数。set teredo     - 设定 Teredo 状态。

原文地址: 全网最全的“npm install 安装停留在 idealTree:node_global: sill idealTree buildDeps”解决方法

    正文完
     0
    Yojack
    版权声明:本篇文章由 Yojack 于2024-10-07发表,共计3529字。
    转载说明:
    1 本网站名称:优杰开发笔记
    2 本站永久网址:https://yojack.cn
    3 本网站的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系站长进行删除处理。
    4 本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
    5 本站所有内容均可转载及分享, 但请注明出处
    6 我们始终尊重原创作者的版权,所有文章在发布时,均尽可能注明出处与作者。
    7 站长邮箱:laylwenl@gmail.com
    评论(没有评论)