mise use --global go@latest
This is best way.
use winget. But my antivirus blocks compiled files, even “Hello World”, so this is just not working.
GOROOT - це шлях, де встановлено сам Go SDK (компілятор, стандартна бібліотека та інструменти).
GOPATH - це твій робочий простір (workspace). Сюди Go завантажує сторонні залежності, і тут зберігаються скомпільовані бінарні файли твоїх або завантажених програм.
Зараз ці змінні вже не треба задавати в конфігу. Можна подивитися командою
go env
Щоб все гарно працювало, в PATH має бути присутнім два каталоги:
$GOROOT/bin $GOPATH/bin
це відбувається автоматично (mise, winget), але можна перевірити.
на сервері створити каталог, в якому будуть складатися всі проєкти на Го:
mkdir -pv ~/Projects/go cd ~/Projects/go
створити перший проєкт:
mkdir hello && cd hello go mod init hello
зверни увагу, що тут назва каталогу проєкту та назва модуля (go mod init) збігаються. Це необов'язково, але зручно. Також, якщо модуль буде використовуватися в інших, можна прописати шлях на гітхабі:
go mod init github.com/username/<dir-name>
якщо такий модуль завантажити на відповідний гітхаб, то в інших проєктах можна його підтягнути:
go get github.com/username/<dir-name>
Далі потрібно переконатися, що в VS Code встановлені плагіни golang.go, ms-vscode-remote.remote-ssh
Підключитися до віддаленого хосту: викликати панель команд (Ctrl+Shift+P) → “Remote-SSH: Connect to Host…” та обрати сервер із списку.
Відкрити перший проєкт за допомогою звичайного File → Open Folder…
Наступні проєкти додавати через File → Add Folder to Workspace…
Обов'язково зберегти workspace: File → Save Workspace As… та зберегти у ~/Projects/go/my.code-workspace (можна іншу назву файлу).
Відредагувати цей файл my.code-workspace, приблизно так:
{
"folders" : [
{
"path" : "hello"
},
{
"path" : "second"
}
],
"launch" : {
"configurations" : [
{
"cwd" : "${fileWorkspaceFolder}",
"mode" : "auto",
"name" : "Запустити поточний файл",
"program" : "${fileDirname}",
"request" : "launch",
"type" : "go"
}
],
"version" : "0.2.0"
},
"settings" : {},
"tasks" : {
"tasks" : [
{
"command" : "go run .",
"group" : {
"isDefault" : true,
"kind" : "build"
},
"label" : "Go Run Поточний Проєкт",
"options" : {
"cwd" : "${fileDirname}"
},
"presentation" : {
"clear" : true,
"echo" : false,
"focus" : true,
"panel" : "dedicated",
"reveal" : "always"
},
"type" : "shell"
}
],
"version" : "2.0.0"
}
}
Тепер для запуску проєкту потрібно відкрити в VS Code файл main.go в будь-якому проєкті та натиснути Ctrl+Shift+B (або Terminal → Run Build Task…) і проєкт запуститься і виведе у вкладку терміналу внизу