Ответ 1
Unset GOROOT - инструменты go знают, где они должны быть, и вам редко приходится устанавливать его.
Вы установили его в /home/user/go
, и если вы не построите его, это вряд ли будет подходящим местом для поиска пакета fmt.
Я пытаюсь выполнить простое приложение Hello, World
в go:
package main
import (
"fmt"
)
func main() {
fmt.Println("Hello World!")
}
Но когда я его создаю и запускаю, я получаю следующую ошибку:
main.go:5:2: cannot find package "fmt" in any of:
/home/user/go/src/pkg/fmt (from $GOROOT)
/home/user/gocode/src/fmt (from $GOPATH)
package test_program
imports runtime: cannot find package "runtime" in any of:
/home/user/go/src/pkg/runtime (from $GOROOT)
/home/user/gocode/src/runtime (from $GOPATH)
Вот вывод go env
:
GOARCH="amd64"
GOBIN=""
GOCHAR="6"
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/home/user/gocode"
GORACE=""
GOROOT="/home/user/go"
GOTOOLDIR="/home/user/go/pkg/tool/linux_amd64"
CC="gcc"
GOGCCFLAGS="-g -O2 -fPIC -m64 -pthread"
CGO_ENABLED="1"
Unset GOROOT - инструменты go знают, где они должны быть, и вам редко приходится устанавливать его.
Вы установили его в /home/user/go
, и если вы не построите его, это вряд ли будет подходящим местом для поиска пакета fmt.
Не используйте apt-get
для установки go, просто загрузите двоичные файлы и извлеките их в свой домашний (или любой) каталог.
Чтобы получить go tool
в вашем терминале, вы должны добавить строку export PATH=$PATH:$GOROOT/bin
в свой ~/.bashrc
.