gpt4 book ai didi

ubuntu - 运行 Google Cloud SDK 时为 "sudo: gcloud: command not found"

转载 作者:太空宇宙 更新时间:2023-11-03 16:50:51 24 4
gpt4 key购买 nike

运行 Ubuntu。

通过以下方式安装 Google Cloud SDK:

$ sudo curl https://sdk.cloud.google.com | sudo bash 
$ exec -l $SHELL

运行“gcloud”工作正常。

运行“sudo gcloud”会导致以下错误:

sudo: gcloud: command not found

奇怪的是,当我通过 apt-get 安装 Google Cloud SDK 时,“sudo gcloud”工作正常。不幸的是,我无法使用 apt-get 中的 Google Cloud SDK,因为 kubectl 没有随附它并且无法与 apt-get 版本一起安装。

为什么“gcloud”可以工作而不是“sudo gcloud”?

2017 年 5 月 21 日编辑:如果我使用 sudo 命令手动设置路径,则以下工作。不过,我宁愿不要每次都这样做。

sudo env "PATH=$PATH" gcloud

最佳答案

首先,here's a gcloud article我在哪里找到了这个问题的答案,但我也会尝试在这里对其进行总结,因为答案并不完全直截了当。

如果您使用 curl 安装 google-cloud-sdk,默认情况下安装目录将是用户的主目录。在完成之前,它还会询问“修改配置文件以更新您的 $PATH 并启用 shell 命令完成?”这实际上会更新登录的用户配置文件,而不是 sudoers 文件或根用户配置文件。

如果您以个人用户而非 root 用户身份手动安装 gcloud(例如通过 tar/gz 文件),则该过程只会将 gcloud 添加到您的用户 bashrc 以及随后的 PATH 变量中。这意味着它永远不会添加到您的根 PATH 变量中,并且不可用于 sudo 命令。

当您运行以下内容时:sudo env "PATH=$PATH" gcloud您正在有效地获取您的路径(包括 gcloud 的完整路径)并将其临时分配给根路径。然后,这允许 gcloud 使用 sudo,因为它存在于根 PATH 变量中。

解决这个问题的一些方法包括:

只需从这些解决方案中选择一个!(无需全部执行。)

1) 尝试通过 aptitude 重新安装 gcloud(推荐,但不适用于您的情况):

sudo apt-get install google-cloud-sdk

这应该会在此过程中将 gcloud 添加到您的 sudoers 路径中。检查here如果命令不起作用,则为完整过程。

2) 手动将 gcloud 路径添加到 sudoers secure_path 变量:

sudo vi /etc/sudoers

验证 google-cloud-sdk 的安装目录并将您的路径附加到 secure_path 变量的末尾,如下所示:

secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin:{YOUR_PATH_TO_GCLOUD}"

在你的例子中,因为你安装了 sudo curl,所以这将是:

secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin:/home/<user-name>/google-cloud-sdk/bin"

3) 将 gcloud 的路径添加到您的/etc/environment 文件中:

在这里,您正在编辑 /etc/environment,而不是您的 sudoers 文件。文件。 (老实说,我不推荐这样做,因为它看起来有点矫枉过正)。

4) 指向现有路径目录的符号链接(symbolic link):

您可能还希望将 gcloud 符号链接(symbolic link)到路径中的现有目录之一,但我已经深入了解哪个是最好的。我会根据在这里收到的任何反馈更新我的答案。

关于ubuntu - 运行 Google Cloud SDK 时为 "sudo: gcloud: command not found",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44093004/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com