go: термин «go» не распознается как имя командлета, функции, файла сценария или работающей программы - PullRequest
1 голос
/ 26 апреля 2019

На этот вопрос ответили здесь , но в моем случае это не работает.Это может быть из-за новой версии кода VS.Мои шаги:

  1. Установленный плагин

enter image description here

В командном окне ctrl+shift+P, введите Go: Install/Update Tools и установили все 17 пакетов

Но я получаю ошибку.вот структура dir:

enter image description here

My go env вывод из cmd:
D:\Personal\Learning\GoLang\Project-1>go env
set GOARCH=amd64
set GOBIN=
set GOCACHE=C:\Users\rog1\AppData\Local\go-build
set GOEXE=.exe
set GOFLAGS=
set GOHOSTARCH=amd64
set GOHOSTOS=windows
set GOOS=windows
set GOPATH=C:\Go\bin;D:\Personal\Learning\GoLang\Project-1;
set GOPROXY=
set GORACE=
set GOROOT=C:\Go
set GOTMPDIR=
set GOTOOLDIR=C:\Go\pkg\tool\windows_amd64
set GCCGO=gccgo
set CC=gcc
set CXX=g++
set CGO_ENABLED=1
set GOMOD=
set CGO_CFLAGS=-g -O2
set CGO_CPPFLAGS=
set CGO_CXXFLAGS=-g -O2
set CGO_FFLAGS=-g -O2
set CGO_LDFLAGS=-g -O2
set PKG_CONFIG=pkg-config
set GOGCCFLAGS=-m64 -mthreads -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=C:\Users\rog1\AppData\Local\Temp\go-build020393970=/tmp/go-build -gno-record-gcc-switches

go: термин «go» не распознается как имя командлета, функции, файла сценария,или работоспособная программа.Проверьте правильность написания имени или, если путь был указан, проверьте правильность пути и повторите попытку.

В строке: 1 символ: 1 + go env

+ ~~

  • CategoryInfo: ObjectNotFound: (go: String) [], CommandNotFoundException
    • FullyQualifiedErrorId: CommandNotFoundException

Моя PATH переменная среды: C:\Go\bin;

Моя VS Code setting.json запись:

    "go.autocompleteUnimportedPackages": true,
    "go.gopath": "D:\\Personal\\Learning\\GoLang\\Project-1\\",
    "go.goroot": "C:\\Go\\",

Чего мне не хватает?

1 Ответ

3 голосов
/ 28 апреля 2019

попробуйте выполнить следующую команду в терминале vscode (который является экземпляром powershell):

 $env:Path = [System.Environment]::GetEnvironmentVariable("Path","Machine") 

Это сделает текущий экземпляр powershell для загрузки последней переменной PATH с машины.

...