下载包时出错的解决方式

在安装依赖包的时候有些资源是在国外的网站,所以下载取来容易失败或者特别慢,可以使用以下方式试着解决,
一下步骤依次使用,若操作到第一步就解决了则不需要继续操作后面步骤了
一.设置 npm 镜像源

# 设置为国内镜像源
npm config set registry http://registry.npm.taobao.org

# 查看当前镜像源
npm config get registry

# 恢复原来镜像源
npm config set registry http://registry.npmjs.org

二.设置 .npmrc 文件

虽然已设置国内镜像源, 有时候 A 包中需要下载 B 包, 这时还可能到国外站点下载 B 包
.npmrc 文件可以提供「变量」设置某些包的下载地址也为国内镜像.

windows 系统:文件位置一般为 C:/Users/Administrator(当前用户名)/.npmrc
在这里插入图片描述

**macOS 系统:**文件位置一般为用户家目录,cd回车直接切到家目录,ls -al 查看

把下面常见包地址复制到 .npmrc 中,从而提高下载成功率

sharp_binary_host = https://npm.taobao.org/mirrors/sharp
sharp_libvips_binary_host = https://npm.taobao.org/mirrors/sharp-libvips
profiler_binary_host_mirror = https://npm.taobao.org/mirrors/node-inspector/
fse_binary_host_mirror = https://npm.taobao.org/mirrors/fsevents
node_sqlite3_binary_host_mirror = https://npm.taobao.org/mirrors
sqlite3_binary_host_mirror = https://npm.taobao.org/mirrors
sqlite3_binary_site = https://npm.taobao.org/mirrors/sqlite3
sass_binary_site = https://npm.taobao.org/mirrors/node-sass
electron_mirror = https://npm.taobao.org/mirrors/electron/
puppeteer_download_host = https://npm.taobao.org/mirrors
chromedriver_cdnurl = https://npm.taobao.org/mirrors/chromedriver
operadriver_cdnurl = https://npm.taobao.org/mirrors/operadriver
phantomjs_cdnurl = https://npm.taobao.org/mirrors/phantomjs
python_mirror = https://npm.taobao.org/mirrors/python
registry = https://registry.npm.taobao.org/
disturl = https://npm.taobao.org/dist

三.设置 hosts 文件

有些包在国内镜像中没有及时更新, 或者根本没有.
国外站点下载不通畅多是因为在「域名 => IP」阶段受阻
我们的解决方案就是提前把「域名与IP的对应关系」准备好,放在本在 hosts 文件中

# GitHub Start =================================================================
52.74.223.119 github.com
192.30.255.116 api.github.com
140.82.112.25 live.github.com
8.7.198.45 gist.github.com

192.0.66.2 github.blog

185.199.108.154 github.githubassets.com

50.17.56.103 collector.githubapp.com
52.217.67.172 github-cloud.s3.amazonaws.com

140.82.114.22 central.github.com

199.232.96.133 raw.githubusercontent.com
199.232.96.133 user-images.githubusercontent.com
199.232.96.133 desktop.githubusercontent.com
199.232.96.133 camo.githubusercontent.com

199.232.96.133 avatars.githubusercontent.com
199.232.96.133 avatars0.githubusercontent.com
199.232.96.133 avatars1.githubusercontent.com
199.232.96.133 avatars2.githubusercontent.com
199.232.96.133 avatars3.githubusercontent.com
199.232.96.133 avatars4.githubusercontent.com
199.232.96.133 avatars5.githubusercontent.com
199.232.96.133 avatars6.githubusercontent.com
199.232.96.133 avatars7.githubusercontent.com
199.232.96.133 avatars8.githubusercontent.com
199.232.96.133 avatars9.githubusercontent.com
199.232.96.133 avatars10.githubusercontent.com
199.232.96.133 avatars11.githubusercontent.com
199.232.96.133 avatars12.githubusercontent.com
199.232.96.133 avatars13.githubusercontent.com
199.232.96.133 avatars14.githubusercontent.com
199.232.96.133 avatars15.githubusercontent.com
199.232.96.133 avatars16.githubusercontent.com
199.232.96.133 avatars17.githubusercontent.com
199.232.96.133 avatars18.githubusercontent.com
199.232.96.133 avatars19.githubusercontent.com
199.232.96.133 avatars20.githubusercontent.com
# GitHub End ===================================================================

**补充:**里面内容不是百分百固定, 遇到报错提示 某个域名连接失败, 就到 https://ip138.com/ 查找其相应的 IP 地址, 然后把 IP地址与域名的对应信息追加到上面 hosts 文件中。

为什么要配置它,有啥用?

  • 正常访问 http://aaa.bbb.ccc/ 计算机要向 DNS 询问对应的 IP 地址,不告诉你,你就访问不了
  • 在 hosts 中设置后
  • 再次访问 http://aaa.bbb.ccc/ 计算机不问了,直接通过 IP 访问

有些时候之所以访问不了,就是 DNS 不告诉你记着 IP, 跳过这一步,就能访问了

四.最后的办法

# 安装 cnpm , 之后使用 cnpm 下载安装包
npm install -g cnpm --registry=https://registry.npm.taobao.org
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值