我正在. 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 run
或go 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"
1条答案
按热度按时间nlejzf6q1#
我现在明白了。
问题出在
GOTOOLDIR="/Users/User/go/pkg/tool/darwin_amd64"
,这是我的User的go文件夹,它没有darwin_amd64编译器。所以我把GOROOT改成
/usr/local/go
,这也是Go语言编译器实际所在的source .zshrc
,然后重新打开我的终端。现在它和以前一样工作得很好。