首页  >  文章  >  后端开发  >  为什么'sudo go run main.go”会失败并显示'exec:go:在$ PATH中找不到可执行文件”?

为什么'sudo go run main.go”会失败并显示'exec:go:在$ PATH中找不到可执行文件”?

Susan Sarandon
Susan Sarandon原创
2024-11-20 01:51:01385浏览

Why does

以 root 身份运行 Go 程序时排除“sudo go run main.go”错误

尝试使用 gopacket 捕获网络数据包时,您运行命令“sudo go run main.go”时可能会遇到错误,指出“exec:go:在 $PATH 中找不到可执行文件”。出现此错误的原因是您的环境变量没有为 root 用户配置。

与使用“sudo go run ...”的方法相反,请考虑先使用“go build”在没有 root 权限的情况下构建二进制文件,或者“去安装吧。”构建二进制文件后,使用“sudo”执行它。

例如,如果您在名为 mycapt 的文件夹中使用 main.go,请按照以下步骤操作:

cd mycapt
go build
sudo ./mycapt

或者,您可以使用:

go install
sudo $GOPATH/bin/mycapt

通过构建二进制文件然后使用 sudo 运行它,您可以确保二进制文件具有适当的权限执行必要的操作。

以上是为什么'sudo go run main.go”会失败并显示'exec:go:在$ PATH中找不到可执行文件”?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn