无法导入Go语言标准库

rekjcdws  于 2023-01-03  发布在  Go
关注(0)|答案(1)|浏览(148)

我正在. bash_profile &. zshrc中配置GOPATH和GOBIN以使godoc工作,但我可能做错了什么。
下面是我在. zshrc中添加的内容

export GOROOT=~/go
export GOBIN=$GOPATH/bin
export PATH=$GOBIN:$GOROOT/bin:$PATH

然后我把我的工作区目录移到~/go/src中,使godoc工作
当我运行go mod tidy

imports encoding/json: no Go source files

它找不到的文件来源是从标准库如ioutil,fmt,http
当我go rungo test一些东西时,它把我扔了出去

import "": import of unknown directory

我试着删除/usr/local/go中的所有文件并重新安装Go,但问题仍然存在。我不知道该怎么办,你们能给我点启发吗?
这是我行动信封

GO111MODULE=""
GOARCH="amd64"
GOBIN="/bin"
GOCACHE="/Users/User/Library/Caches/go-build"
GOENV="/Users/User/Library/Application Support/go/env"
GOEXE=""
GOEXPERIMENT=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOINSECURE=""
GOMODCACHE=""
GONOPROXY=""
GONOSUMDB=""
GOOS="darwin"
GOPATH=""
GOPRIVATE=""
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/Users/User/go"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/Users/User/go/pkg/tool/darwin_amd64"
GOVCS=""
GOVERSION="go1.19.4"
GCCGO="gccgo"
GOAMD64="v1"
AR="ar"
CC="clang"
CXX="clang++"
CGO_ENABLED="1"
GOMOD="/Users/User/go/src/go-klix/go-testing/go.mod"
GOWORK=""
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -arch x86_64 -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/xy/dj6ry6jx4d78qcvm0nd3pzfr0000gp/T/go-build871628837=/tmp/go-build -gno-record-gcc-switches -fno-common"
nlejzf6q

nlejzf6q1#

我现在明白了。
问题出在GOTOOLDIR="/Users/User/go/pkg/tool/darwin_amd64",这是我的User的go文件夹,它没有darwin_amd64编译器。
所以我把GOROOT改成/usr/local/go,这也是Go语言编译器实际所在的source .zshrc,然后重新打开我的终端。
现在它和以前一样工作得很好。

相关问题