3a5000主机一台。
1.安装go1.21
go用来编译clash,clash源码是go语言编写
下载地址 龙芯上的Golang | 龙芯开源社区
安装方式
- 在上述地址下载好安装文件和对应的sha5文件
LoongArch64安装文件: go1.19.linux-loong64.tar.gz
SHA256SUM检验文件 : go1.19.linux-loong64.sha256
- 校验下载文件的sha256
执行命令: sha256sum -c go1.19.linux-loong64.sha256
正确结果: go1.19.linux-loong64.tar.gz: 成功
- 移除已安装的Go (放在/usr/local目录下为例)
rm -rf /usr/local/go
- 解压缩下载的tar包到/usr/local目录
$sudo tar xf go1.19.linux-loong64.tar.gz -C /usr/local/
- 把/usr/local/go/bin目录加入PATH环境变量
export PATH=$PATH:/usr/local/go/bin
- 检查安装结果
执行命令: go version
正确结果: go version go1.19 linux/loong64
2.下载clash源码编译(两种方法)
- 从源码编译
您可以使用 Golang 1.19+ 在您的设备上编译 Clash:
$ go install github.com/Dreamacro/clash@latest
go: downloading github.com/Dreamacro/clash v1.15.1
二进制文件将会被编译到 $GOPATH/bin
目录下:(GOPATH的目录可以使用go env命令查看)
$ $GOPATH/bin/clash -v
Clash unknown version darwin arm64 with go1.20.3 unknown time
- 跨平台/操作系统编译
Golang 支持交叉编译, 所以您可以为不同架构或操作系统的设备编译 Clash. 您可以使用 make 来轻松地编译它们, 例如:
$git clone --depth 1 https://github.com/Dreamacro/clash
Cloning into 'clash'...
remote: Enumerating objects: 359, done.
remote: Counting objects: 100% (359/359), done.
remote: Compressing objects: 100% (325/325), done.
remote: Total 359 (delta 25), reused 232 (delta 17), pack-reused 0
Receiving objects: 100% (359/359), 248.99 KiB | 1.63 MiB/s, done.
Resolving deltas: 100% (25/25), done.
$cd clash && make linux-loong64
fatal: 没有发现名称,无法描述任何东西。
GOARCH=loong64 GOOS=linux CGO_ENABLED=0 go build -trimpath -ldflags '-X "github.com/Dreamacro/clash/constant.Version=unknown version" -X "github.com/Dreamacro/clash/constant.BuildTime=2023年 08月 27日 星期日 08:08:24 UTC" -w -s -buildid=' -o bin/clash-linux-loong64
$file bin/clash-darwin-arm64
bin/clash-linux-loong64: ELF 64-bit LSB executable, LoongArch-64, version 1 (SYSV), statically linked, stripped