Установлен Google Cloud SDK, но недоступен gcloud

Я пытаюсь установить Google Cloud SDK на OSX и сделать это node.js учебник (https://cloud.google.com/nodejs/getting-started/hello-world) и продолжать работать в проблему, где gcloud не найден. Это может быть просто что-то простое в настройке или в том, где я храню файл.

Я прочитал массу других сообщений здесь, но не смог решить эту проблему. Вот все шаги/проблемы:

Я уже создал проект в консоли dev.

Установите облако 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?

Ответ 1

В моем меню ~/.bash_profile у меня была ошибка, наверху у меня была эта строка:

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

Что вызывало ошибку и перепуталось с gcloud, странно, что другие переменные командной строки отлично справились с этой ошибкой.

Как только я удалил эту строку, gcloud работал нормально.

Ответ 2

Посмотрите на выход инструмента установки:

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", а затем закройте и перезапустите терминал, чтобы изменения вступили в силу.

В новой оболочке вы можете увидеть, определяется ли "gcloud" с помощью команды:

 which gcloud

Он должен выводить:

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

Если это не сработает, я бы рекомендовал просто обновить свой PATH вручную. Для этого отредактируйте файл ~/.profile:

 nano ~/.profile

И затем добавьте следующую строку в самом конце:

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

И перезапустите свою оболочку. Обратите внимание: если вы используете оболочку, отличную от встроенного терминала, вам может потребоваться отредактировать другой файл (например, ~/.bashrc или ~/.bash_profile для пользовательской установки BASH и других других файлов "rc" для альтернирующие оболочки, такие как ZSH, CSH и т.д.), чтобы обновить вашу переменную PATH.

Если это все еще не работает, я бы предложил отладку, набрав:

echo "$PATH"

... чтобы вы могли, по крайней мере, увидеть, на что установлен текущий путь.

Ответ 3

Я изменил свой

vi ~/.bash_profile

и добавил одну строку до конца

source ~/.bashrc

Затем вы можете выйти и войти в систему снова или запустить:

source ~/.bash_profile

После того, как вы добавили строку.

ОС: Linux vagrant-ubuntu-trusty-64 3.13.0-116-generiС# 163-Ubuntu

Или просто запустить:

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

Показаны мной

/дома/MyUserName/Google/Google-облако SDK/бен/gcloud