2016-08-22 3 views
20

Я обновил Google Cloud SDK (gcloud), и в целом, с:Почему PowerShell не может найти командлеты gcloud?

gcloud components update 

И только для PowerShell с:

gcloud components update powershell 

Запуск gcloud --version шоу:

Google Cloud SDK 122.0.0 
beta 2016.01.12 
bq 2.0.24 
bq-win 2.0.24 
bundled-python 2.7.10 
core 2016.08.16 
core-win 2016.08.05 
gcloud 
gsutil 4.20 
gsutil-win 4.20 
powershell 0.1.3 
windows-ssh-tools 2016.05.13 

Когда я открываю PowerShell и пытаюсь выполнить Get-GcsBucket, я вижу эту ошибку:

Get-GcsBucket : The term 'Get-GcsBucket' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.

Как я могу заставить PowerShell распознавать командлеты gcloud?

ответ

23

К сожалению, модификация PSModulePath, необходимая для того, чтобы командлеты были доступны для PowerShell, происходит только при установке Google Cloud SDK, а не только после его обновления.

Простейшим решением для большинства людей будет удаление и переустановка Google Cloud SDK. Это не потеряет никакой информации о конфигурации, поэтому вам не нужно запускать gcloud init или gcloud auth.

В качестве альтернативы вы можете запустить команду, которую обычно запускает установщик. Найдите свой установочный каталог Google Cloud SDK (например, %AppData%\..\Local\Google\Cloud SDK или %ProgramFiles(x86)%\Google\Cloud SDK). В этом каталоге найдите google-cloud-sdk\platform\GoogleCloudPowerShell. Там есть сценарий под названием AppendPsModulePath.ps1. Запустите это, и он изменит переменную окружения PSModulePath для вашего текущего пользователя. С тех пор новые окна PowerShell будут иметь доступные командлеты.

Смежные вопросы