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

为什么运行'sudo go run”会导致'找不到可执行文件”错误?

Patricia Arquette
发布: 2024-11-18 10:34:02
原创
715 人浏览过

Why Does Running

使用 Sudo 执行 Go 程序

在 Linux 系统中,通常的做法是使用 sudo 来执行需要提升权限的命令。但是,使用 sudo go run main.go 运行 Go 程序可能会出现“找不到可执行文件”的错误。

出现此错误的原因是没有正确设置 GOPATH、GOROOT 等环境变量。根用户。默认情况下,sudo 在执行命令时会重置环境,删除用户 shell 设置的任何环境变量。

解决方案

而不是运行 sudo go run main。 go,推荐的方法是首先将 Go 程序构建为二进制文件,然后使用 sudo 执行该二进制文件。这可确保二进制文件设置正确的环境变量。

以下是实现此目的的方法:

  1. 如果您位于包含 main.go 的目录中,则可以构建二进制文件使用:
go build
登录后复制
  1. 使用 sudo 执行二进制文件:
sudo ./mycapt
登录后复制

或者,您可以使用以下命令将二进制文件安装到 GOPATH bin 目录:

go install
登录后复制

然后执行它:

sudo $GOPATH/bin/mycapt
登录后复制

按照这种方法,您可以使用 sudo 执行 Go 程序,同时确保为 root 用户正确设置必要的环境变量.

以上是为什么运行'sudo go run”会导致'找不到可执行文件”错误?的详细内容。更多信息请关注PHP中文网其他相关文章!

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