首页 > 后端开发 > Golang > 正文

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

Susan Sarandon
发布: 2024-11-17 06:54:03
原创
731 人浏览过

Why Does

排除“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中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板