找不到 gcloud 命令 - 安装 Google Cloud SDK 时
gcloud command not found - while installing Google Cloud SDK
我在 mac 上,正在尝试在终端中使用此命令安装 Google Cloud SDK(包括 gcloud 命令行实用程序)
curl https://sdk.cloud.google.com | bash
见于 https://cloud.google.com/sdk/
它一直走到尽头并完成了,但即使在我重新启动 shell 之后,gcloud
命令仍然说找不到它。
为什么这个安装不工作?
下面是我之前针对此问题的修复,但事实证明它不是永久性的。它有效,但每次重新启动终端时,您都必须做同样的事情,这是不切实际的。
所以我建议你删除当前的google-cloud-sdk目录,重新安装即可。确保(正如 Zachary 提到的)对提示 Modify profile to update your $PATH and enable bash completion? (Y/n)
.
回答是 (Y)
这是我的旧答案,只是重做安装:
I had the same problem, gcloud
wasn't working for me. But then, in the same directory as my google-cloud-sdk
folder which I had just installed (my home
directory), I found this file called test
. Inside this test
file I found two commands:
# The next line updates PATH for the Google Cloud SDK.
source '[path-to-my-home]/google-cloud-sdk/path.bash.inc'
# The next line enables bash completion for gcloud.
source '[path-to-my-home]/google-cloud-sdk/completion.bash.inc'
After I ran these two source
commands in terminal, gcloud
worked!
我必须获取我的 bash_profile 文件。为此,
- 打开终端会话。
- 在该会话类型中:
source .bash_profile 然后按 enter
现在,gcloud 命令应该可以工作了
我也一样,我试试
source ~/.bashrc
然后,成功了
我在 ~/.bash_profile
中发现了不正确的 if-fi
语句
(下一个块没有if条件)
source '/Users/yorko/google-cloud-sdk/path.bash.inc'
fi
我只需要删除 "fi"
和 运行 "source ~/.bash_profile"
即可使其正常工作。
我遇到了同样的问题,这是因为 ~/.bash_profile
有无效的 fi
语句。
修复:
- 执行命令
sudo nano ~/.bash_profile
- 删除了关闭
fi
语句 (缺少开头的语句 if
)
- 保存 .bash_profile 更改
- 执行命令
source ~/.bash_profile
$ sudo su
$ /opt/google-appengine-sdk/bin/gcloud components update
$ su <yourusername>
这个对我有用:
source ~/.bash_profile
这对我有用:
说完Y
到Modify profile to update your $PATH and enable bash completion? (Y/n)?
Google 初始化提示:Enter a path to an rc file to update, or leave blank to use
并且默认路径是:[/Users/MY_USERSAME/.bash_profile]:
但我没有按 enter
,而是写了:/Users/MY_USERNAME/.bashrc
到更改路径。
这将覆盖 Google 建议的默认位置。
然后,我只需要做 source ~/.bashrc
现在一切正常!
在 Mac/Linux,您需要在 ~/.bashrc
中输入以下条目:
export PATH="/usr/lib/google-cloud-sdk/bin:$PATH"
如果运行
source ~/.bashrc
结果 "No such file or directory"
在 windows 上:
- 转到c/Users/
- 按住 shift 键,右键单击 .bashrc 文件和 select "Copy as path"
- 在 bash 中:
source <pasteCopiedPathHere>
-> 例如:source "C:\Users\John\.bashhrc"
Post安装说明不清楚:
==> Source [/.../google-cloud-sdk/completion.bash.inc] in your profile to enable shell command completion for gcloud.
==> Source [/.../google-cloud-sdk/path.bash.inc] in your profile to add the Google Cloud SDK command line tools to your $PATH.
我必须在我的 .bash_profile
中实际添加以下代码行才能使 gcloud
工作:
source '/.../google-cloud-sdk/completion.bash.inc'
source '/.../google-cloud-sdk/path.bash.inc'
我今天遇到了这个问题,将 sudo
添加到 install command
解决了我在 maxOS Sierra 上的问题!
sudo ./google-cloud-sdk/install.sh
我是 运行 zsh,发现这个要点非常有用:https://gist.github.com/dwchiang/10849350
编辑 ~/.zshrc 文件以包含这两行:
# The next line updates PATH for the Google Cloud SDK.
source /Users/YOUR_USERNAME/google-cloud-sdk/path.zsh.inc
# The next line enables zsh completion for gcloud.
source /Users/YOUR_USERNAME/google-cloud-sdk/completion.zsh.inc
这假设您从 official docs
安装包到主目录
现在 运行在 Mac OS
中 install.sh
之后,google 本身将信息提供给 运行 completion.bash.inc
和 path.bash.inc
.
如果您使用的是 zsh
终端,它会要求您 运行 completion.zsh.inc
和 path.zsh.inc
。请看下图
您只需要以 root 身份执行此命令
$ curl https://sdk.cloud.google.com | bash
重启终端即可。现在所有命令都应该以 root
身份执行
我知道这个问题已经得到解答,但这是我的两分钱。
安装 gcloud 后,您需要重新启动 shell 才能使用 gcloud 命令。
如何执行此操作主要取决于您保存 shell 配置的文件。大多数文件是 .bashrc_profile
、.bashrc
、.zshrc
。
您现在可以使用
重新开始
source ~/.bashrc_profile
您可以将文件替换为您已有的文件。
或者,如果您不关心您拥有的文件,在 Mac 或 linux 上,您可以重新启动 shell。
exec -l $SHELL
安装SDK时我用的是这个方法:
curl https://sdk.cloud.google.com | bash
使用原作者提供的此方法时,请确保您已接受 mac 设置中的安全首选项,以允许从应用商店下载应用并识别开发人员。
如何在 Mac OS HIGH Sierra:
下载安装包
Here
获取文件并放入您的文件夹
打开终端,转到包含文件的文件夹并输入此命令:
./google-cloud-sdk/install.sh
"Modify profile to update your $PATH
and enable bash completion?"
是
- 输入此路径修改:
/Users/USERNAME_COMPUTER/.bashrc
全部安装完成后,输入:
source ~/.bashrc
输入此内容以检查安装 gcloud:
gcloud--version
打开新的window终端cmd+n
DONT CLOSE OLD WINDOW 然后输入新的 window gcloud version
如果:«未找到命令»转到步骤 9
else: 恭喜 GCloud 在终端工作
Return 到旧 window 并输入 echo $PATH
并将路径复制到 GCloud
打开BASH_PROFILE:
open ~/.bash_profile
输入新路径 Bash:
« export PATH="/Users/USERNAME_COMPUTER/google-cloud-sdk/bin:$PATH" »
Return 到步骤 8
如果您是 运行 ZSH shell 在 MacOS 中,您应该重新运行安装,当您被问到这个问题时:
Modify profile to update your $PATH and enable shell command
completion?
回答YES
和
Enter a path to an rc file to update, or leave blank to use
[/Users/your_user/.bash_profile]:
答案(你的 zshrc 路径):/Users/your_user/.zshrc
重启终端即可。
要在 MacOs Sierra 上启动它,在安装 gcloud 之后我修改了我的 .bash_profile
原文:
# The next line updates PATH for the Google Cloud SDK.
if [ -f '/Users/alejandro/google-cloud-sdk/path.bash.inc' ]; then . '/Users/alejandro/google-cloud-sdk/path.bash.inc'; fi
# The next line enables shell command completion for gcloud.
if [ -f '/Users/alejandro/google-cloud-sdk/completion.bash.inc' ]; then . '/Users/alejandro/google-cloud-sdk/completion.bash.inc'; fi
更新为:
# The next line updates PATH for the Google Cloud SDK.
if [ -f '/Users/alejandro/google-cloud-sdk/path.bash.inc' ]; then source '/Users/alejandro/google-cloud-sdk/path.bash.inc'; fi
# The next line enables shell command completion for gcloud.
if [ -f '/Users/alejandro/google-cloud-sdk/completion.bash.inc' ]; then source '/Users/alejandro/google-cloud-sdk/completion.bash.inc'; fi
重启终端,一切正常!
sudo ./google-cloud-sdk/install.sh
我在根目录中 运行 并且有效。我是 运行 macOS Mojave 版本 10.14.3。
我在这里遇到了一个非常不同的故事,结果证明是由我的 Python 虚拟环境.
引起的
在 运行ning curl https://sdk.cloud.google.com | bash
中间的某个地方,我收到 error:
~/google-cloud-sdk/install.sh
Welcome to the Google Cloud SDK!
pyenv: python2: command not found
The `python2' command exists in these Python versions:
2.7.14
miniconda2-latest
解决方案 我修改了google-cloud-sdk/install.sh
脚本:
# if CLOUDSDK_PYTHON is empty
if [ -z "$CLOUDSDK_PYTHON" ]; then
# if python2 exists then plain python may point to a version != 2
#if _cloudsdk_which python2 >/dev/null; then
# CLOUDSDK_PYTHON=python2
if _cloudsdk_which python2.7 >/dev/null; then
# this is what some OS X versions call their built-in Python
CLOUDSDK_PYTHON=python2.7
并且能够 运行 安装成功。
但是,我仍然需要激活我的 pyenv,它有 python2
命令到 运行 gcloud
。
为什么会这样
如果您查看 google-cloud-sdk/install.sh
脚本,您会发现它实际上正在以非常粗暴的方式检查 Python 的版本:
if [ -z "$CLOUDSDK_PYTHON" ]; then
# if python2 exists then plain python may point to a version != 2
if _cloudsdk_which python2 >/dev/null; then
CLOUDSDK_PYTHON=python2
然而,在我的机器上 python2
不指向 Python 二进制文件,returns 也不指向 null。所以安装崩溃了。
尝试在 Ubuntu/Linux 上执行此命令:
sudo ./google-cloud-sdk/install.sh
关闭终端或打开一个新的 window,如日志所述:
==> Start a new shell for the changes to take effect.
完成后尝试通过 glcloud 命令安装任何包:
gcloud components install app-engine-php
不会显示错误。
如果你在 MAC OS 上并使用 .zsh shell 然后做以下:
编辑您的 .zshrc
并添加以下内容
# The next line updates PATH for the Google Cloud SDK.
source /Users/USER_NAME/google-cloud-sdk/path.zsh.inc
# The next line enables zsh completion for gcloud.
source /Users/USER_NAME/google-cloud-sdk/completion.zsh.inc
在您的主目录下创建名为 path.zsh.inc
的新文件 (/Users/USER_NAME/):
script_link="$( readlink "[=11=]" )" || script_link="[=11=]"
apparent_sdk_dir="${script_link%/*}"
if [ "$apparent_sdk_dir" == "$script_link" ]; then
apparent_sdk_dir=.
fi
sdk_dir="$( cd -P "$apparent_sdk_dir" && pwd -P )"
bin_path="$sdk_dir/bin"
export PATH=$bin_path:$PATH
结帐更多@Official Docs
简而言之:
emacs -nw ~/.zshrc
And add following line at the beginning:
# The next line updates PATH for the Google Cloud SDK.
source '/home/lesaint/GOOGLE_CLOUD/google-cloud-sdk/path.zsh.inc'
#The next lines enables bash completion in Zsh for gcloud.
autoload -U compinit compdef
compinit
source '/home/lesaint/GOOGLE_CLOUD/google-cloud-sdk/completion.zsh.inc'
以下文章提出的解决方案对我有效:
参考:
http://www.javatronic.fr/tips/2014/10/17/installing_google_cloud_sdk_on_ubuntu_with_oh-my-zsh.html
检查我的解决方案:
-bash: gcloud: command not found on Mac
使用 .zsh shell
你可以尝试在 ~/.zshrc
文件的 plugin list 中添加 glcoud
。
plugins=(
gcloud
)
如果这不起作用,试试这个:(更新 Krishna's 答案)
- 更新
~/.zshrc
文件
# Updates PATH for the Google Cloud SDK.
source /Users/austris/google-cloud-sdk/path.zsh.inc
# Enables zsh completion for gcloud.
source /Users/austris/google-cloud-sdk/completion.zsh.inc
- 使用以下内容更新
google-cloud-sdk/path.zsh.inc
文件
script_link="$( readlink "[=12=]" )" || script_link="[=12=]"
apparent_sdk_dir="${script_link%/*}"
if [[ "$apparent_sdk_dir" == "$script_link" ]]; then
apparent_sdk_dir=.
fi
sdk_dir="$( cd -P "$apparent_sdk_dir" && pwd -P )"
bin_path="$sdk_dir/bin"
export PATH=$bin_path:$PATH
*原始答案中缺少第三行的双方括号
除了上述答案之外,根据您的发行版,可能需要在调用 gsutil 命令之前从命令行执行 bash 命令。对于默认使用 tcsh 或其他 shell 的发行版来说就是这种情况。通过键入“bash”,源将更改为 .bashrc 文件并执行该文件。
# Step 1
bash
# Step 2
gsutil
#Step 3: profit!
您必须将命令添加到路径
运行
brew info --cask google-cloud-sdk
并找到要附加到 ~/.zshrc
的行
可以从上一个命令的输出中获取要追加的行。对于 zsh 用户,应该是这样的:
export CLOUDSDK_PYTHON="/usr/local/opt/python@3.8/libexec/bin/python"
source "/usr/local/Caskroom/google-cloud-sdk/latest/google-cloud-sdk/path.zsh.inc"
source "/usr/local/Caskroom/google-cloud-sdk/latest/google-cloud-sdk/completion.zsh.inc"
(或根据您使用的 Shell 从命令输出中选择合适的)
如果您是 macOS 自制 zsh 用户:
brew cask install google-cloud-sdk
更新你的 ~/.zshrc:
plugins=(
...
gcloud
)
- 打开新的 shell.
我安装失败的原因:
- 我是 运行 zsh 终端,
install.sh
将 path.bash.inc
插入我的 .bash_profile
修复:
cd [whereever]/google-cloud-sdk && ./install.sh
vi ~/.bash_profile
- 将
path.bash.inc
的所有实例替换为 path.zsh.inc
os 配置:
- macOS 卡特琳娜
- zsh
参考:
它对我有用:
- 从https://cloud.google.com/sdk/docs/install
下载SDK
- 将存档解压到我的主目录(我的主目录是“nintran”)
- 运行 "./google-cloud-sdk/bin/gcloud 初始化"
通过 运行 ./google-cloud-sdk/install.sh --help
检查安装 zip 后,参数 --path-update
对我有用。如下使用,
./google-cloud-sdk/install.sh --path-update true
它会自动将 PATH 更新添加到 .bashrc(不同的 rc 文件请参阅 --rc-path
参数)。添加 --quiet
无交互参数。
sudo ./google-cloud-sdk/install.sh
然后
Enter a path to an rc file to update, or leave blank to use
[/Users/uer/.bash_profile]: "/usr/lib/google-cloud-sdk/bin:$PATH"
结果:
["/usr/lib/google-cloud-sdk/bin:$PATH"] has been updated.
如果您将 zsh 与 Mac 一起使用,安装后 initialization,您只需要 source ~./zshrc
来应用更改。
如果你通过snap
安装了google-cloud-sdk,你必须将路径vaiable.Add snap目录修改为PATH作为export PATH=$PATH:/snap/bin
这对我有用。
在我的例子中,我在安装 Google Cloud SDK 后将终端从 bash 切换到 zsh,因此显示 'zsh: command not found: gcloud' 错误。
运行
解决了
source ~/.zshrc
我做错的是没有为我的 OS 选择正确的下载。我不小心选择了 Apple Intel 而不是 Apple Silicon。尽管安装似乎可以工作,但我无法使用 gcloud
命令。删除文件夹并重新安装正确的 Apple Silicon 版本后,一切正常。
我在 mac 上,正在尝试在终端中使用此命令安装 Google Cloud SDK(包括 gcloud 命令行实用程序)
curl https://sdk.cloud.google.com | bash
见于 https://cloud.google.com/sdk/
它一直走到尽头并完成了,但即使在我重新启动 shell 之后,gcloud
命令仍然说找不到它。
为什么这个安装不工作?
下面是我之前针对此问题的修复,但事实证明它不是永久性的。它有效,但每次重新启动终端时,您都必须做同样的事情,这是不切实际的。
所以我建议你删除当前的google-cloud-sdk目录,重新安装即可。确保(正如 Zachary 提到的)对提示 Modify profile to update your $PATH and enable bash completion? (Y/n)
.
这是我的旧答案,只是重做安装:
I had the same problem,
gcloud
wasn't working for me. But then, in the same directory as mygoogle-cloud-sdk
folder which I had just installed (myhome
directory), I found this file calledtest
. Inside thistest
file I found two commands:
# The next line updates PATH for the Google Cloud SDK.
source '[path-to-my-home]/google-cloud-sdk/path.bash.inc'
# The next line enables bash completion for gcloud.
source '[path-to-my-home]/google-cloud-sdk/completion.bash.inc'
After I ran these two
source
commands in terminal,gcloud
worked!
我必须获取我的 bash_profile 文件。为此,
- 打开终端会话。
- 在该会话类型中: source .bash_profile 然后按 enter
现在,gcloud 命令应该可以工作了
我也一样,我试试
source ~/.bashrc
然后,成功了
我在 ~/.bash_profile
中发现了不正确的 if-fi
语句
(下一个块没有if条件)
source '/Users/yorko/google-cloud-sdk/path.bash.inc'
fi
我只需要删除 "fi"
和 运行 "source ~/.bash_profile"
即可使其正常工作。
我遇到了同样的问题,这是因为 ~/.bash_profile
有无效的 fi
语句。
修复:
- 执行命令
sudo nano ~/.bash_profile
- 删除了关闭
fi
语句 (缺少开头的语句if
) - 保存 .bash_profile 更改
- 执行命令
source ~/.bash_profile
$ sudo su
$ /opt/google-appengine-sdk/bin/gcloud components update
$ su <yourusername>
这个对我有用:
source ~/.bash_profile
这对我有用:
说完Y
到Modify profile to update your $PATH and enable bash completion? (Y/n)?
Google 初始化提示:Enter a path to an rc file to update, or leave blank to use
并且默认路径是:[/Users/MY_USERSAME/.bash_profile]:
但我没有按 enter
,而是写了:/Users/MY_USERNAME/.bashrc
到更改路径。
这将覆盖 Google 建议的默认位置。
然后,我只需要做 source ~/.bashrc
现在一切正常!
在 Mac/Linux,您需要在 ~/.bashrc
中输入以下条目:
export PATH="/usr/lib/google-cloud-sdk/bin:$PATH"
如果运行
source ~/.bashrc
结果 "No such file or directory"
在 windows 上:
- 转到c/Users/
- 按住 shift 键,右键单击 .bashrc 文件和 select "Copy as path"
- 在 bash 中:
source <pasteCopiedPathHere>
-> 例如:source "C:\Users\John\.bashhrc"
Post安装说明不清楚:
==> Source [/.../google-cloud-sdk/completion.bash.inc] in your profile to enable shell command completion for gcloud.
==> Source [/.../google-cloud-sdk/path.bash.inc] in your profile to add the Google Cloud SDK command line tools to your $PATH.
我必须在我的 .bash_profile
中实际添加以下代码行才能使 gcloud
工作:
source '/.../google-cloud-sdk/completion.bash.inc'
source '/.../google-cloud-sdk/path.bash.inc'
我今天遇到了这个问题,将 sudo
添加到 install command
解决了我在 maxOS Sierra 上的问题!
sudo ./google-cloud-sdk/install.sh
我是 运行 zsh,发现这个要点非常有用:https://gist.github.com/dwchiang/10849350
编辑 ~/.zshrc 文件以包含这两行:
# The next line updates PATH for the Google Cloud SDK.
source /Users/YOUR_USERNAME/google-cloud-sdk/path.zsh.inc
# The next line enables zsh completion for gcloud.
source /Users/YOUR_USERNAME/google-cloud-sdk/completion.zsh.inc
这假设您从 official docs
安装包到主目录现在 运行在 Mac OS
中 install.sh
之后,google 本身将信息提供给 运行 completion.bash.inc
和 path.bash.inc
.
如果您使用的是 zsh
终端,它会要求您 运行 completion.zsh.inc
和 path.zsh.inc
。请看下图
您只需要以 root 身份执行此命令
$ curl https://sdk.cloud.google.com | bash
重启终端即可。现在所有命令都应该以 root
身份执行我知道这个问题已经得到解答,但这是我的两分钱。 安装 gcloud 后,您需要重新启动 shell 才能使用 gcloud 命令。
如何执行此操作主要取决于您保存 shell 配置的文件。大多数文件是 .bashrc_profile
、.bashrc
、.zshrc
。
您现在可以使用
重新开始source ~/.bashrc_profile
您可以将文件替换为您已有的文件。
或者,如果您不关心您拥有的文件,在 Mac 或 linux 上,您可以重新启动 shell。
exec -l $SHELL
安装SDK时我用的是这个方法:
curl https://sdk.cloud.google.com | bash
使用原作者提供的此方法时,请确保您已接受 mac 设置中的安全首选项,以允许从应用商店下载应用并识别开发人员。
如何在 Mac OS HIGH Sierra:
下载安装包 Here
获取文件并放入您的文件夹
打开终端,转到包含文件的文件夹并输入此命令:
./google-cloud-sdk/install.sh
"Modify profile to update your
$PATH
and enable bash completion?"
是- 输入此路径修改:
/Users/USERNAME_COMPUTER/.bashrc
全部安装完成后,输入:
source ~/.bashrc
输入此内容以检查安装 gcloud:
gcloud--version
打开新的window终端
cmd+n
DONT CLOSE OLD WINDOW 然后输入新的 windowgcloud version
如果:«未找到命令»转到步骤 9
else: 恭喜 GCloud 在终端工作
Return 到旧 window 并输入
echo $PATH
并将路径复制到 GCloud打开BASH_PROFILE:
open ~/.bash_profile
输入新路径 Bash:
« export PATH="/Users/USERNAME_COMPUTER/google-cloud-sdk/bin:$PATH" »
Return 到步骤 8
如果您是 运行 ZSH shell 在 MacOS 中,您应该重新运行安装,当您被问到这个问题时:
Modify profile to update your $PATH and enable shell command
completion?
回答YES
和
Enter a path to an rc file to update, or leave blank to use
[/Users/your_user/.bash_profile]:
答案(你的 zshrc 路径):/Users/your_user/.zshrc
重启终端即可。
要在 MacOs Sierra 上启动它,在安装 gcloud 之后我修改了我的 .bash_profile
原文:
# The next line updates PATH for the Google Cloud SDK.
if [ -f '/Users/alejandro/google-cloud-sdk/path.bash.inc' ]; then . '/Users/alejandro/google-cloud-sdk/path.bash.inc'; fi
# The next line enables shell command completion for gcloud.
if [ -f '/Users/alejandro/google-cloud-sdk/completion.bash.inc' ]; then . '/Users/alejandro/google-cloud-sdk/completion.bash.inc'; fi
更新为:
# The next line updates PATH for the Google Cloud SDK.
if [ -f '/Users/alejandro/google-cloud-sdk/path.bash.inc' ]; then source '/Users/alejandro/google-cloud-sdk/path.bash.inc'; fi
# The next line enables shell command completion for gcloud.
if [ -f '/Users/alejandro/google-cloud-sdk/completion.bash.inc' ]; then source '/Users/alejandro/google-cloud-sdk/completion.bash.inc'; fi
重启终端,一切正常!
sudo ./google-cloud-sdk/install.sh
我在根目录中 运行 并且有效。我是 运行 macOS Mojave 版本 10.14.3。
我在这里遇到了一个非常不同的故事,结果证明是由我的 Python 虚拟环境.
引起的在 运行ning curl https://sdk.cloud.google.com | bash
中间的某个地方,我收到 error:
~/google-cloud-sdk/install.sh
Welcome to the Google Cloud SDK!
pyenv: python2: command not found
The `python2' command exists in these Python versions:
2.7.14
miniconda2-latest
解决方案 我修改了google-cloud-sdk/install.sh
脚本:
# if CLOUDSDK_PYTHON is empty
if [ -z "$CLOUDSDK_PYTHON" ]; then
# if python2 exists then plain python may point to a version != 2
#if _cloudsdk_which python2 >/dev/null; then
# CLOUDSDK_PYTHON=python2
if _cloudsdk_which python2.7 >/dev/null; then
# this is what some OS X versions call their built-in Python
CLOUDSDK_PYTHON=python2.7
并且能够 运行 安装成功。
但是,我仍然需要激活我的 pyenv,它有 python2
命令到 运行 gcloud
。
为什么会这样
如果您查看 google-cloud-sdk/install.sh
脚本,您会发现它实际上正在以非常粗暴的方式检查 Python 的版本:
if [ -z "$CLOUDSDK_PYTHON" ]; then
# if python2 exists then plain python may point to a version != 2
if _cloudsdk_which python2 >/dev/null; then
CLOUDSDK_PYTHON=python2
然而,在我的机器上 python2
不指向 Python 二进制文件,returns 也不指向 null。所以安装崩溃了。
尝试在 Ubuntu/Linux 上执行此命令:
sudo ./google-cloud-sdk/install.sh
关闭终端或打开一个新的 window,如日志所述:
==> Start a new shell for the changes to take effect.
完成后尝试通过 glcloud 命令安装任何包:
gcloud components install app-engine-php
不会显示错误。
如果你在 MAC OS 上并使用 .zsh shell 然后做以下:
编辑您的
.zshrc
并添加以下内容# The next line updates PATH for the Google Cloud SDK. source /Users/USER_NAME/google-cloud-sdk/path.zsh.inc # The next line enables zsh completion for gcloud. source /Users/USER_NAME/google-cloud-sdk/completion.zsh.inc
在您的主目录下创建名为
path.zsh.inc
的新文件 (/Users/USER_NAME/):script_link="$( readlink "[=11=]" )" || script_link="[=11=]" apparent_sdk_dir="${script_link%/*}" if [ "$apparent_sdk_dir" == "$script_link" ]; then apparent_sdk_dir=. fi sdk_dir="$( cd -P "$apparent_sdk_dir" && pwd -P )" bin_path="$sdk_dir/bin" export PATH=$bin_path:$PATH
结帐更多@Official Docs
简而言之:
emacs -nw ~/.zshrc
And add following line at the beginning:
# The next line updates PATH for the Google Cloud SDK.
source '/home/lesaint/GOOGLE_CLOUD/google-cloud-sdk/path.zsh.inc'
#The next lines enables bash completion in Zsh for gcloud.
autoload -U compinit compdef
compinit
source '/home/lesaint/GOOGLE_CLOUD/google-cloud-sdk/completion.zsh.inc'
以下文章提出的解决方案对我有效:
参考: http://www.javatronic.fr/tips/2014/10/17/installing_google_cloud_sdk_on_ubuntu_with_oh-my-zsh.html
检查我的解决方案: -bash: gcloud: command not found on Mac
使用 .zsh shell
你可以尝试在 ~/.zshrc
文件的 plugin list 中添加 glcoud
。
plugins=(
gcloud
)
如果这不起作用,试试这个:(更新 Krishna's 答案)
- 更新
~/.zshrc
文件
# Updates PATH for the Google Cloud SDK.
source /Users/austris/google-cloud-sdk/path.zsh.inc
# Enables zsh completion for gcloud.
source /Users/austris/google-cloud-sdk/completion.zsh.inc
- 使用以下内容更新
google-cloud-sdk/path.zsh.inc
文件
script_link="$( readlink "[=12=]" )" || script_link="[=12=]"
apparent_sdk_dir="${script_link%/*}"
if [[ "$apparent_sdk_dir" == "$script_link" ]]; then
apparent_sdk_dir=.
fi
sdk_dir="$( cd -P "$apparent_sdk_dir" && pwd -P )"
bin_path="$sdk_dir/bin"
export PATH=$bin_path:$PATH
*原始答案中缺少第三行的双方括号
除了上述答案之外,根据您的发行版,可能需要在调用 gsutil 命令之前从命令行执行 bash 命令。对于默认使用 tcsh 或其他 shell 的发行版来说就是这种情况。通过键入“bash”,源将更改为 .bashrc 文件并执行该文件。
# Step 1
bash
# Step 2
gsutil
#Step 3: profit!
您必须将命令添加到路径
运行
brew info --cask google-cloud-sdk
并找到要附加到 ~/.zshrc
可以从上一个命令的输出中获取要追加的行。对于 zsh 用户,应该是这样的:
export CLOUDSDK_PYTHON="/usr/local/opt/python@3.8/libexec/bin/python"
source "/usr/local/Caskroom/google-cloud-sdk/latest/google-cloud-sdk/path.zsh.inc"
source "/usr/local/Caskroom/google-cloud-sdk/latest/google-cloud-sdk/completion.zsh.inc"
(或根据您使用的 Shell 从命令输出中选择合适的)
如果您是 macOS 自制 zsh 用户:
brew cask install google-cloud-sdk
更新你的 ~/.zshrc:
plugins=(
...
gcloud
)
- 打开新的 shell.
我安装失败的原因:
- 我是 运行 zsh 终端,
install.sh
将path.bash.inc
插入我的.bash_profile
修复:
cd [whereever]/google-cloud-sdk && ./install.sh
vi ~/.bash_profile
- 将
path.bash.inc
的所有实例替换为path.zsh.inc
os 配置:
- macOS 卡特琳娜
- zsh
参考:
它对我有用:
- 从https://cloud.google.com/sdk/docs/install 下载SDK
- 将存档解压到我的主目录(我的主目录是“nintran”)
- 运行 "./google-cloud-sdk/bin/gcloud 初始化"
通过 运行 ./google-cloud-sdk/install.sh --help
检查安装 zip 后,参数 --path-update
对我有用。如下使用,
./google-cloud-sdk/install.sh --path-update true
它会自动将 PATH 更新添加到 .bashrc(不同的 rc 文件请参阅 --rc-path
参数)。添加 --quiet
无交互参数。
sudo ./google-cloud-sdk/install.sh
然后
Enter a path to an rc file to update, or leave blank to use
[/Users/uer/.bash_profile]: "/usr/lib/google-cloud-sdk/bin:$PATH"
结果:
["/usr/lib/google-cloud-sdk/bin:$PATH"] has been updated.
如果您将 zsh 与 Mac 一起使用,安装后 initialization,您只需要 source ~./zshrc
来应用更改。
如果你通过snap
安装了google-cloud-sdk,你必须将路径vaiable.Add snap目录修改为PATH作为export PATH=$PATH:/snap/bin
这对我有用。
在我的例子中,我在安装 Google Cloud SDK 后将终端从 bash 切换到 zsh,因此显示 'zsh: command not found: gcloud' 错误。
运行
解决了source ~/.zshrc
我做错的是没有为我的 OS 选择正确的下载。我不小心选择了 Apple Intel 而不是 Apple Silicon。尽管安装似乎可以工作,但我无法使用 gcloud
命令。删除文件夹并重新安装正确的 Apple Silicon 版本后,一切正常。