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

问题出现:

        为了下载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

过了很久提示:

查看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优先 (成功的方法)

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

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

发现没办法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

前缀的含义:

 在 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镜像

ping通了

4.5 重新安装模块
 npm i <模块名>

成功!

总结

按网上找到的方法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:\Windows\system32>netsh interface ipv6
 ​
 下列指令有效:
 ​
 此上下文中的命令:
 6to4           - 更改到 `netsh interface ipv6 6to4' 上下文。
 ?              - 显示命令列表。
 add            - 在一个表格中添加一个配置项。
 delete         - 从一个表格中删除一个配置项。
 dump           - 显示一个配置脚本。
 help           - 显示命令列表。
 isatap         - 更改到 `netsh interface ipv6 isatap' 上下文。
 reset          - 重置 IP 配置。
 set            - 设置配置信息。
 show           - 显示信息。
 ​
 下列的子上下文可用:
  6to4 isatap
 ​
 若需要命令的更多帮助信息,请键入命令,接着是空格,后面跟 ?。
 ​
 C:\Windows\system32>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:\Windows\system32>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:\Windows\system32>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 状态。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值