解决win10安装scoop经验分享

背景

scoop是以款windows命令行管理工具,python学习课程需要安装allure,官方推荐使用scoop安装allure,那么就需要在windows安装scoop。

问题

根据scoop官网指示安装scoop,报问题:未能解析此远程名称: ‘raw.githubusercontent.com

问题解决实践

  1. 确保powershell在版本5以上,.NET framework在版本4.5以上,以便辨识安装命令
  2. 按照官网指示指行命令“Set-ExecutionPolicy RemoteSigned -scope CurrentUser”仍然无法解决
  3. 根据问题未能解析域名,于是尝试ping通地址,证明地址是没问题的,查阅资料发现有可能是DNS污染问题),于是正对此问题着手解决
    • 在CMD输入 ipconfig /all,找到DNS服务器IP
    • 输入nslookup raw.githubusercontent.com 你的DNS服务器IP,查看发现未能解析
    • 再输入 nslookup raw.githubusercontent.com 8.8.8.8 使用Google的DNS服务器验证
    • 确定是污染问题,获取域名对应IP(https://www.ipaddress.com/),我获取到的是199.232.68.133
    • 管理员身份打开host(C:\Windows\System32\drivers\etc\hosts)文件,在末尾加上 199.232.68.133 raw.githubusercontent.com,退出保存
    • 更新DNS缓存:ipconfig /flushdns
    • 指定路径安装scoop:[environment]::setEnvironmentVariable(‘SCOOP’,‘D:\Applications\Scoop’,‘User’)
      $env:SCOOP=‘D:\Applications\Scoop’
      iex (new-object net.webclient).downloadstring(‘https://get.scoop.sh’)

解释

  • DNS服务器:访问网址时,根据域名得到对应的IP
  • DNS污染:开发商或第三方操作使得DNS服务器无法解析域名得到对应ip地
  • host文件:去DNS服务器找映射表之前会先去host文件查找,由于host文件配置了对应的域名和ip映射,避免了DNS污染。另外这只是临时解决方案,因为ip地址是会变的,但是变了我就再配置呗 :nerd_face:
2 Likes