排除“sudo go run main.go”错误
尝试执行“sudo go run main.go”捕获网络数据包时在 Ubuntu 16.04 上使用“gopacket”,您可能会遇到错误消息“exec:go:$PATH 中找不到可执行文件”。出现此错误的原因是没有为 root 用户设置必要的环境变量。
解决方案:
不要使用“sudo go run ...”,而是按照以下步骤操作步骤:
1.不使用 sudo 编译二进制文件:
使用“go build”将 main.go 文件编译为可执行二进制文件。例如:
go build
2.使用 sudo 运行二进制文件:
使用 sudo 执行编译后的二进制文件。例如:
sudo ./mycapt
或者:
使用“go install”将二进制文件安装到您的系统中$GOPATH/bin
go install
然后使用 sudo 从 $GOPATH/bin 目录运行二进制文件:
sudo $GOPATH/bin/mycapt
通过编译并运行单独安装二进制文件,确保 root 用户可以使用必要的环境变量。
以上是为什么在 Ubuntu 16.04 上'sudo go run main.go”会失败并显示'exec: go:在 $PATH 中找不到可执行文件”?的详细内容。更多信息请关注PHP中文网其他相关文章!