go: command not found — команда go не найдена
Сообщение значит, что оболочка не нашла программу go ни в одной папке из списка PATH — переменной, где перечислены папки с командами. Go либо не установлен, либо установлен, но его папки bin нет в PATH, либо окно терминала открыто раньше, чем изменился PATH.
Как выглядит ошибка:
| Где | Сообщение |
|---|---|
| Linux, bash | go: command not found |
| Ubuntu | Command 'go' not found, but can be installed with: … |
| macOS, zsh | zsh: command not found: go |
| Windows, cmd | "go" не является внутренней или внешней командой… |
| Windows, PowerShell | Имя "go" не распознано как имя командлета… |
Сначала — новое окно терминала
Закройте терминал и откройте новый. Окна, открытые до установки Go, не видят изменений PATH. В VS Code перезапустите редактор целиком: встроенный терминал наследует старый PATH. Часто этого достаточно.
Если не помогло — проверьте PATH
Где искать Go и как добавить его в PATH, зависит от системы — выберите свою.
Linuxархив с go.dev
Если Go ставили архивом с go.dev, команда лежит в /usr/local/go/bin. Проверьте, что она там есть:
ls /usr/local/go/binВ списке должны быть go и gofmt. Если папки нет — Go не установлен, поставьте его по справке Как установить Go. Если есть — добавьте её в PATH:
echo 'export PATH=$PATH:/usr/local/go/bin' >> ~/.profile
source ~/.profile
go version~/.profile читается при входе в систему; source применяет его к текущему окну. Если в новых окнах команда снова пропадает, а сеанс вы не перезапускали, выйдите из системы и войдите снова.
macOSустановщик .pkg
Установщик .pkg прописывает путь сам — через файл /etc/paths.d/go. Проверьте, что он есть:
cat /etc/paths.d/goДолжно быть /usr/local/go/bin. Если файла нет, переустановите Go из .pkg или допишите строку export PATH=$PATH:/usr/local/go/bin в ~/.zshrc (файл настроек оболочки zsh) и откройте новое окно терминала.
Windowsустановщик .msi
Установщик .msi сам добавляет в PATH папку bin внутри папки Go (обычно C:\Program Files\Go\bin). Проверьте в новом окне командной строки:
where goКоманда покажет полный путь к go.exe. Если пишет, что не нашла, — откройте «Изменение системных переменных среды» (поиск в меню «Пуск» по слову «переменные»), нажмите «Переменные среды» и в списке Path проверьте, есть ли там папка bin из папки Go. Нет — добавьте её или переустановите Go тем же установщиком.
sudo: go: command not found
От обычного пользователя go работает, а с sudo — нет. Это нормально: sudo запускает команды со своим безопасным списком папок, а не с вашим PATH. Собирать и запускать программы на Go через sudo не нужно. Если программе действительно нужны права root (например, порт ниже 1024), соберите её go build от своего пользователя и запустите готовый файл: sudo ./server.
Не находятся gopls, goimports и другие утилиты
Программы, поставленные командой go install, лежат не рядом с go, а в $HOME/go/bin (в Windows — %USERPROFILE%\go\bin). Добавьте в PATH и эту папку — команда для Linux:
echo 'export PATH="$PATH:$(go env GOPATH)/bin"' >> ~/.profileВ Windows проверьте, есть ли эта папка в списке Path пользователя, и добавьте её, если нет, — так же, как папку bin выше.