yay安装失败的解决方案

yay安装失败的解决方案

常规安装方法

$ git clone https://aur.archlinux.org/yay
$ cd yay
$ makepkg -si

通常情况执行完上面所示命令即可安装成功,但是经常会遇到网络错误的情况,主要原因有如下两点

  1. go语言的软件安装源被屏蔽
  2. github访问受限

所以解决思路要么采取科学上网软件,或者采取我以下所说的方法。

解决方案

1. go语言换源

本文采用Goproxy.cn源,官网有换源方法,这里也贴出来

  1. 换源
$ go env -w GO111MODULE=on
$ go env -w GOPROXY=https://goproxy.cn,direct
  1. 使更换的源生效
  • 临时生效
$ export GO111MODULE=on
$ export GOPROXY=https://goproxy.cn
  • 永久生效
$ echo "export GO111MODULE=on" >> ~/.profile
$ echo "export GOPROXY=https://goproxy.cn" >> ~/.profile
$ source ~/.profile

完成以上步骤以后,可以再次尝试

$ makepkg -si

若还存在网络问题可以继续往下看,修改hosts

2.修改hosts访问github

github hosts如下:

# GitHub Host Start
​
185.199.108.154              github.githubassets.com
140.82.112.22                central.github.com
185.199.108.133              desktop.githubusercontent.com
185.199.108.153              assets-cdn.github.com
185.199.108.133              camo.githubusercontent.com
185.199.108.133              github.map.fastly.net
199.232.69.194               github.global.ssl.fastly.net
140.82.114.3                 gist.github.com
185.199.108.153              github.io
140.82.113.3                 github.com
140.82.112.5                 api.github.com
185.199.108.133              raw.githubusercontent.com
185.199.108.133              user-images.githubusercontent.com
185.199.108.133              favicons.githubusercontent.com
185.199.108.133              avatars5.githubusercontent.com
185.199.108.133              avatars4.githubusercontent.com
185.199.108.133              avatars3.githubusercontent.com
185.199.108.133              avatars2.githubusercontent.com
185.199.108.133              avatars1.githubusercontent.com
185.199.108.133              avatars0.githubusercontent.com
185.199.108.133              avatars.githubusercontent.com
140.82.112.10                codeload.github.com
52.217.207.1                 github-cloud.s3.amazonaws.com
52.216.78.4                  github-com.s3.amazonaws.com
52.217.194.169               github-production-release-asset-2e65be.s3.amazonaws.com
52.216.131.131               github-production-user-asset-6210df.s3.amazonaws.com
52.216.28.204                github-production-repository-file-5c1aeb.s3.amazonaws.com
185.199.108.153              githubstatus.com
64.71.144.202                github.community
185.199.108.133              media.githubusercontent.com
​
# Please Star : https://github.com/ineo6/hosts
# Mirror Repo : https://gitee.com/ineo6/hosts
# Update at: 2021-12-01 08:39:41
​
# GitHub Host End
  1. 修改hosts
$ sudo vim /etc/hosts
  1. 将以上github host内容追加到/etc/hosts文件中
  2. 使更新的hosts立即生效
$ sudo systemctl restart nscd

在 Arch Linux 中安装 Yay

先决条件

打开终端并运行以下命令。出现提示时提供管理员密码。这些步骤需要 base-devel 包和 git 包进行编译和安装。

sudo pacman -S base-devel
sudo pacman -S git

安装 Yay

yay 包在 Arch 仓库中有两个版本,如下所示。

对于本指南,我使用了稳定版。现在,进入 /opt 目录并克隆 git 仓库。

cd /opt
sudo git clone https://aur.archlinux.org/yay.git

更改源目录的所有者。将 cc2 替换为你的用户名。

sudo chown -R cc2:users ./yay

如果你不知道用户或组,可以使用以下示例查找用户和组。

id cc2

进入目录并编译。

cd yay
makepkg -si

这样就完成了 Arch Linux 中 Yay 的安装。

Manjaro 如果 yay 使用了 aur 的清华源,出现报错解决方法

如果yay使用了aur的清华源,参考以下文章关于移除 AUR 镜像的通知

所以更换aur源即可:

yay –aururl “https://mirrors.aliyun.com/archlinuxcn” –save

yay –aururl “这里可以换你想用得源” –save

# 官方源
http://repo.archlinuxcn.org
# 163源
http://mirrors.163.com/archlinux-cn
# 中科大
https://mirrors.ustc.edu.cn/archlinuxcn
# 阿里
https://mirrors.aliyun.com/archlinuxcn

更换为中科大arch软件源:sudo vim /etc/pacman.conf

1、把下面代码放到文件的最后位置:

[archlinuxcn]

SigLevel = Optional TrustedOnly

# (下面得源任选一个)
# 官方源
Server = http://repo.archlinuxcn.org/$arch
# 163源
Server = http://mirrors.163.com/archlinux-cn/$arch
# 中科大
Server = https://mirrors.ustc.edu.cn/archlinuxcn/$arch
# 阿里
Server = https://mirrors.aliyun.com/archlinuxcn/$arch

2、然后更新软件源:

sudo pacman -Syy && sudo pacman -S archlinuxcn-keyring

安装yay

sudo pacman -S yay

#安装完成后再次更新
yay -Syyu && yay -Sys

VS Code中Import [module] could not be resolved Pylance(reportMissingImports)解决方案

在VS Code中编写python文件时,import自定义module报错 “could not be resolved Pylance(reportMissingImports)”。

这是因为Pylance未找到自定义模块的地址,可以通过在settings.json文件中添加extraPaths来解决:

1.通过Shift+Ctrl+P打开设置栏,输入settings后找到Perference: Open Settings (JSON)

2.打开settings.json文件后添加下面的代码进去:

"python.analysis.extraPaths": [
    "./src",        // 自定义模块的相对路径,可多个,可绝对路径  
    "./modules"
]
3.使用Ctrl+S保存后,重新打开.py文件,这时自定义的模块就被Pylance找到并导入成功了。

方法二:

我认为造成这个问题的原因是在另一个新的路径上新建了一个python项目,但是在vscode中未切换到对应路径的解释器,所以选择当前路径的接收器即可解决该问题: 用Ctrl+Shift+P(Command+shift+p)命令打开命令面板,然后输入Python: Select Interpreter选择当前路径的解释器。需要知道的是,选择解释器就是选择环境,解释器所调用的包是在Lib\site-packages这个文件夹下的。

经测试,两种方法均可以。