安装了Google Cloud SDK但无法访问gcloud。

15

我正在尝试在OSX上安装Google Cloud SDK并完成这个Node.js教程 (https://cloud.google.com/nodejs/getting-started/hello-world),但是总是遇到一个问题,即找不到gcloud命令。可能只是关于设置或保存文件位置的简单问题。

我已经阅读了许多其他帖子,但无法解决这个问题。以下是所有步骤/问题:

我已经在开发控制台中创建了一个项目。

安装Cloud SDK

MacBook-Pro-2:~ nico$ curl https://sdk.cloud.google.com | bash

然后按照流程进行

Directory to extract under (this will create a directory google-cloud-sdk) (/Users/nico):

Do you want to help improve the Google Cloud SDK (Y/n)?  y

Modify profile to update your $PATH and enable bash completion? (Y/n)? y

Enter path to an rc file to update, or leave blank to use [/Users/nico/.bash_profile]:

然后我尝试进行身份验证:

MacBook-Pro-2:~ nico$ gcloud auth login
-bash: gcloud: command not found

然后我进入了云sdk二进制文件目录

MacBook-Pro-2:~ nico$ cd google-cloud-sdk/bin
MacBook-Pro-2:bin nico$ ./gcloud auth login

验证成功

 MacBook-Pro-2:bin nico$ ./gcloud config set project helloworld-project

项目设置成功。

MacBook-Pro-2:bin nico$ ./gcloud components update app

ERROR: (gcloud.components.update) Your current working directory is inside the Cloud SDK install root: /Users/nico/google-cloud-sdk.  
In order to perform this update, run the command from outside of this directory.

那么我就移出了那个目录

 MacBook-Pro-2:test_project nico$ gcloud components update app
-bash: gcloud: command not found

现在它不起作用了,我需要设置gcloud以使其可以全局访问吗?如何更新并访问gcloud命令行工具?

3个回答

15

查看安装工具的输出:

Enter path to an rc file to update, or leave blank to use [/Users/nico/.bash_profile]:

看起来安装工具更新了“/Users/nico/.bash_profile”,而Mac OS X则依赖于“/Users/nico/.profile”进行配置。将更改复制到“/Users/nico/.bash_profile”并覆盖到“/Users/nico/.profile”,然后关闭并重新启动终端以使更改生效。

在新的 shell 中,您可以使用以下命令查看是否定义了“gcloud”:

 which gcloud

它应该输出:

 /Users/nico/google-cloud-sdk/bin/gcloud

如果那不起作用,我建议手动更新你的PATH。要做到这一点,请编辑〜/ .profile:

 nano ~/.profile

然后在最后添加以下行:

 export PATH="$HOME/google-cloud-sdk/bin:$PATH"

然后重新启动你的shell。请注意,如果您使用的是内置终端以外的shell,则可能需要编辑不同的文件(例如~/.bashrc或~/.bash_profile,用于自定义BASH安装,以及其他替代shell的各种“rc”文件,如ZSH、CSH等)来更新您的PATH变量。

如果仍然无法正常工作,建议通过输入以下内容进行调试:

echo "$PATH"

...这样你至少可以看到当前路径设置为什么。


2
谢谢Michael!我尝试了which gcloud,但没有显示任何内容,然后我打开了nano ~/.profile并添加了它(截图:http://www.screencast.com/t/bEssG5te4n),然后按下^O。我重新启动了终端,但仍然没有运行。我还编辑了`~/.bash_profile`并在那里添加了它(截图:http://www.screencast.com/t/jkpNucYZ),但仍然不起作用。有什么想法吗? - NicoM
愚蠢的问题,但你保存了更改吗?(也就是说,如果你执行“cat ~/.profile”,更改还在那里吗?) - Michael Aaron Safyan
是的,我保存了它。这就是 MacBook-Pro-2:~ nico$ cat ~/.profile,它返回 export PATH="$HOME/google-cloud-sdk/bin:$PATH" - NicoM
好的,这很奇怪。当您键入echo“$PATH”或echo“$HOME”时会发生什么?您在编辑之间重新启动了终端吗? - Michael Aaron Safyan

2
我已经修改了我的
vi ~/.bash_profile

并在其末尾添加了一行代码

source ~/.bashrc

然后你可以注销并重新登录,或运行:

source ~/.bash_profile

在添加了这行之后。

操作系统:Linux vagrant-ubuntu-trusty-64 3.13.0-116-generic #163-Ubuntu

或者简单地运行:

echo "source ~/.bashrc" >> ~/.bash_profile
source ~/.bash_profile
which gcloud

展示给我看

/home/myusername/google/google-cloud-sdk/bin/gcloud


0
在我的~/.bash_profile菜单中,我遇到了一个错误,在顶部有这一行:
if which rbenv > /dev/null; then eval "$(rbenv init -)"; fi source /Users/nico/.bash_profile

出现了一个错误,影响了gcloud的运行。奇怪的是,其他命令行变量在这个错误下工作正常。

我删除了那一行代码后,gcloud正常运行。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接