已安装Google Cloud SDK但无法访问gcloud

时间:2015-06-27 02:12:57

标签: macos shell terminal environment-variables google-cloud-platform

我正在尝试在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 bin目录

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 个答案:

答案 0 :(得分:14)

查看安装工具的输出:

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安装,以及各种其他“rc”文件用于替代shell如ZSH,CSH等)更新你的PATH变量。

如果仍然无效,我建议您输入以下命令进行调试:

echo "$PATH"

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

答案 1 :(得分:1)

我修改了我的

vi ~/.bash_profile

并在其末尾添加了一行

source ~/.bashrc

然后你可以退出&再次登录或运行:

source ~/.bash_profile

添加完毕后。

  

OS:Linux vagrant-ubuntu-trusty-64 3.13.0-116-generic#163-Ubuntu

或者简单地运行:

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

告诉我

  

/家庭/名为myUsername /谷歌/谷歌云的SDK /斌/ gcloud

答案 2 :(得分:0)

在我的〜/ .bash_profile菜单中,我遇到了错误,在顶部我有这一行:

if which rbenv > /dev/null; then eval "$(rbenv init -)"; fi source /Users/nico/.bash_profile

抛出错误并与gcloud混淆,奇怪的是其他命令行变量在该错误中正常工作。

删除该行后gcloud工作正常。