编译 Xray 遇到 gvisor 报错 通过 Github Codespaces 下载模块 修改编译环境 指定模块路径
之前自己手动编译Xray没遇到啥问题.
但今天重施故伎时发现报错.
看上去是没有成功下载 gvisor 模块
根据一些资料和telegram群友的指点, 设置了 GOPROXY
export GOPROXY=https://proxy.golang.org,direct
还是报一样的错.
在Google上猛地搜索一翻, 找到一篇文
用他的思路解决了问题.
记录一下详细操作, 如下.
打开 Xray 的 Github Repo
https://github.com/XTLS/Xray-core
进入Github Codespaces
* 注意, 你需要登录 Github 账户才能用这个 Codespaces 功能.执行编译命令, 一是检测能否编译成功, 二是在编译过程中下载了依赖的模块 (其中就包括了gvisor模块)
go build -o xray -trimpath -ldflags "-s -w -buildid=" ./main
ls 检查一下是否编译成功
find 命令找一下 gvisor 模块的位置
find / -name "*1f7806d17489*"
其中 1f7806d17489 是来自于目标模块的版本(tag)的一部分
得到 gvisor 模块的位置结果
进入 .zip 文件所在目录
cd /go/pkg/mod/cache/download/gvisor.dev/gvisor/@v/
开一个http服务
python3 -m http.server 8000
弹出的窗口中选择 "Open in Browser" 按钮
会打开一个新的tab页 (访问这个http服务)
点击 .zip 文件下载.
到此, 我们拿到了 gvisor.dev/gvisor/@v/v0.0.0-20231202080848-1f7806d17489.zip 的包
回到本来的编译 Xray 的环境, 上传刚拿到的 gvisor 模块的zip包, 并解压.
想放什么位置随便你, 我这里举例为下面的目录:
/home/ubuntu/gvisor.dev/gvisor@v0.0.0-20231202080848-1f7806d17489
修改编译环境 指定模块路径
go mod edit -replace 指定的模块=本地路径
go mod edit -replace gvisor.dev/gvisor@v0.0.0-20231202080848-1f7806d17489=/home/ubuntu/gvisor.dev/gvisor@v0.0.0-20231202080848-1f7806d17489
指定的模块就是之前报错的
然后再编译, 就成功了.========
完
评论
发表评论