如何向 sudo 添加自定义(例如 golang)路径?

如何向 sudo 添加自定义(例如 golang)路径?

我正在尝试通过 构建 go 项目make。在部署到生产环境之前一切都很好。部署用户不是所有者,所以我必须使用sudo.但用sudo系统看不到去。

要重现这种情况,不需要使用 make,我们只需使用go version

我尝试使用当前的用户环境,例如:sudo -E go version没有成功。

然后尝试以root身份安装go。没有成功。

最后尝试为 中的所有配置文件全局设置 golang 路径/etc/profile。还是没有运气。

我想当涉及到sudo系统时会以某种方式跳过配置文件设置。然而,谷歌搜索并没有给我带来什么。请帮我一把!

提前致谢!

更新1 什么时候sudo go version

sudo: go: 找不到命令

什么时候sudo bash -c "type go"

bash:第 0 行:类型:go:未找到

的输出为sudo -l

Matching Defaults entries for deploy on host16-32:

    env_reset, mail_badpass, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin\:/snap/bin

User deploy may run the following commands on host16-32:

    (ALL : ALL) ALL

    (ALL) ALL

答案1

根据您的评论,go文档说:

不要将存档解压到现有的 /usr/local/go 树中。众所周知,这会产生损坏的 Go 安装。

rm -rf /usr/local/go && tar -C /usr/local -xzf go1.22.0.linux-amd64.tar.gz

将以下行添加到您的/etc/profile

export PATH=$PATH:/usr/local/go/bin

注意:对配置文件所做的更改可能要等到您下次登录计算机时才会应用。

去安装。

相关内容