我已经更新了Google Cloud SDK(gcloud),通常都包含:
# let otherFuncThatHandles x = x ;;
val otherFuncThatHandles : 'a -> 'a = <fun>
# type ('a, 'b, 'c) elementDescription = Description of ('a * 'b * 'c) ;;
type ('a, 'b, 'c) elementDescription = Description of ('a * 'b * 'c)
# type ('a, 'b, 'c) element = Element of ('a, 'b, 'c) elementDescription ;;
type ('a, 'b, 'c) element = Element of ('a, 'b, 'c) elementDescription
# let f node =
match node with
| Element description ->
otherFuncThatHandles description ;;
val f : ('a, 'b, 'c) element -> ('a, 'b, 'c) elementDescription = <fun>
# f (Element(Description(42, "hello", true))) ;;
- : (int, string, bool) elementDescription = Description (42, "hello", true)
仅适用于PowerShell:
gcloud components update
正在运行gcloud components update powershell
显示:
gcloud --version
当我打开PowerShell并尝试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
时,我看到了这个错误:
Get-GcsBucket:术语“Get-GcsBucket”未被识别为cmdlet,函数,脚本文件或可操作程序的名称。检查名称的拼写,或者如果包含路径,请验证路径是否正确,然后重试。
如何让PowerShell识别gcloud cmdlet?
答案 0 :(得分:24)
不幸的是,只有在安装了Google Cloud SDK时才会对PowerShell提供cmdlet所需的PSModulePath
修改 - 而不是刚刚更新时。
对大多数人来说,最简单的解决方法是卸载并重新安装Google Cloud SDK。这不会丢失任何配置信息,因此您之后无需运行Get-GcsBucket
或gcloud init
。
作为替代方法,您可以运行安装程序通常运行的命令。找到您的Google Cloud SDK安装目录(例如gcloud auth
或%AppData%\..\Local\Google\Cloud SDK
)。在该目录中,找到%ProgramFiles(x86)%\Google\Cloud SDK
。在那里,有一个名为google-cloud-sdk\platform\GoogleCloudPowerShell
的脚本。运行它,它将修改当前用户的AppendPsModulePath.ps1
环境变量。从那时起,新的PowerShell窗口将提供cmdlet。