了解“sudo go run main.go”权限
尝试使用“sudo go run main.go”执行 Go 程序时在 Ubuntu 16.04 上,您可能会遇到错误,指示在 $PATH 变量中找不到可执行文件。出现这种情况是因为“sudo”命令默认会清除环境变量,从而阻止找到“go”二进制文件。
解决问题
要解决此问题问题,您应该在编译程序时绕过“sudo”命令。相反,使用“go build”或“go install”在没有提升权限的情况下构建二进制文件。编译二进制文件后,您可以使用“sudo”以提升的权限执行它。
分步说明
不使用 sudo 编译二进制文件:
使用提升的权限执行二进制文件:
说明
通过首先在不使用 sudo 的情况下构建二进制文件,可以确保必要的环境变量,例如$GOPATH 和 $GOROOT 设置正确。当您使用 sudo 执行二进制文件时,会授予适当的权限,而不会干扰您的环境变量。
此方法有效地授予您捕获网络数据包所需的权限,同时保持环境变量的完整性。
以上是为什么'sudo go run main.go”在 Ubuntu 16.04 上找不到可执行文件?的详细内容。更多信息请关注PHP中文网其他相关文章!