Yay 是 “Yet Another Yogurt” 的缩写(LCTT 校注:Yogurt 是另外一个已经停止维护的 AUR 助手)。从技术上讲,它是用 Go 编程语言 编写的 pacman 封装器和 AUR 助手。它是当今最流行的 Arch 用户仓库(AUR) 助手。使用 Yay,你可以利用庞大的 Arch 用户软件包库并轻松编译和安装任何软件。
——https://linux.cn/article-14846-1.html
但!是!如果你在国内直接安装(编译)yay的话,大概率会因为网络问题无法继续,比如:
1
|
clean.go:8:2: github.com/Jguer/[email protected]: Get "https://proxy.golang.org/github.com/%21jguer/aur/@v/v1.2.3.mod": read tcp [2409:8a30:133:7f14:2cc5:46c6:ced9:1c]:50696->[2404:6800:4012:5::2011]:443: read: connection timed out
|
如果你直接设置GoProxy再编译,会发现还是不行。
正确的姿势是:
1
2
3
|
git clone https://aur.archlinux.org/yay.git
cd yay
nano PKGBUILD
|
打开PKGBUILD,编辑一下编译脚本:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
build() {
export GOPATH="$srcdir"/gopath
export CGO_CPPFLAGS="${CPPFLAGS}"
export CGO_CFLAGS="${CFLAGS}"
export CGO_CXXFLAGS="${CXXFLAGS}"
export CGO_LDFLAGS="${LDFLAGS}"
export CGO_ENABLED=1
# 加上下面这两行
export GO111MODULE=on
export GOPROXY=https://goproxy.cn
# 加上上面这两行
cd "$srcdir/$pkgname-$pkgver"
make VERSION=$pkgver DESTDIR="$pkgdir" PREFIX="/usr" build
}
|
然后再makepkg -si
,祝你好运~
附常规换源法,有的人说有用:
1
2
3
4
5
|
go env -w GO111MODULE=on
go env -w GOPROXY=https://goproxy.cn,direct
export GO111MODULE=on
export GOPROXY=https://goproxy.cn
|