go.mod:5: unknown directive: toolchain
Go语言版本较旧,而项目使用了较新版本的Go语言特性。错误信息"unknown directive: toolchain"表明go.mod文件中使用了"toolchain"指令,这是在Go 1.21版本中新引入的特性,但您当前安装的Go版本不支持这个指令。
解决方法:
-
更新Go版本(推荐):
# 添加Go语言官方仓库 sudo add-apt-repository ppa:longsleep/golang-backports sudo apt update# 安装最新版Go sudo apt install golang-go# 检查版本 go version
-
修改go.mod文件:
打开项目中的go.mod文件,找到并删除或注释掉包含"toolchain"的行:nano go.mod # 找到类似于 "toolchain go1.21.0" 的行并删除
-
使用-mod=mod标志:
go build -mod=mod -o wx_video_download main.go
-
使用环境变量忽略未知指令:
GODEBUG=gomoderrors=0 go build -o wx_video_download main.go
Ubuntu 22.04默认提供的Go版本通常是1.18,而项目可能使用了Go 1.21+的功能。更新到最新版本是最干净的解决方案,这样可以避免其他可能的兼容性问题。