M2 Mac使用Go v1.13调用ja3transport时出现包冲突错误
解决Go v1.13下ja3transport依赖包冲突问题
错误原因
报错提示found packages tls (alert.go) and main (generate_cert.go) in /Users/aymanboulaichdahhou/go/src/github.com/refraction-networking/utls,核心问题是Go语言要求一个目录只能对应一个包,但本地utls目录中同时存在tls和main两个包,导致编译冲突。这通常是因为本地拉取的utls版本与ja3transport依赖的版本不匹配,或是依赖目录被意外修改混入了额外文件。
解决方案
清理冲突的本地依赖
先删除本地的utls目录,彻底清除冲突文件:rm -rf /Users/aymanboulaichdahhou/go/src/github.com/refraction-networking/utls启用Go Modules管理依赖(Go1.13必备)
进入你的项目目录,初始化Go模块:go mod init your-project-name让Go自动拉取
ja3transport及其兼容的utls版本:go mod tidy指定兼容的ja3transport版本
由于你使用Go1.13,需拉取支持该版本的ja3transport历史版本,例如:go get github.com/CUCyber/ja3transport@v0.0.3执行后再次运行
go mod tidy确保依赖一致。
验证
完成以上步骤后,执行go run main.go,检查编译是否正常。
内容的提问来源于stack exchange,提问作者Ayman Boulaich
相关产品推荐
相关产品推荐

