我在Ubuntu 16.04 LTS中安装了go-1.6。我还设置了两个不同的工作区和$ GOPATH,通过指定其中两个工作区的位置。
但其中一个工作区(主工作区或主工作区)正常工作而另一个工作区(辅助工作区)不工作。我希望使用辅助工作区来实现golang中的web应用程序开发,以及我的项目的主要工作区开发。这两个工作区都有不同的包,因为我将它们用于不同的目的。在使用辅助工作区时,我在程序中导入包时遇到“找不到包”这样的错误。 “go build”工具正在主工作区中查找这些包,但它们存在于辅助工作空间中。我正在使用GitHub的Atom编辑器。
即使我使用'go get'安装软件包,软件包也会安装在主工作区中。
'go环境变量'如下: -
gkv@GKVInnovations:~$ go env
GOARCH="amd64"
GOBIN=""
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/home/gkv/Desktop/goWorkspace:/home/gkv/Desktop/Business/Backend"
GORACE=""
GOROOT="/usr/lib/go-1.6"
GOTOOLDIR="/usr/lib/go-1.6/pkg/tool/linux_amd64"
GO15VENDOREXPERIMENT="1"
CC="gcc"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0"
CXX="g++"
CGO_ENABLED="1"
主工作区的位置: - / home / gkv / Desktop / goWorkspace
辅助工作区的位置: - / home / gkv / Desktop / Business / Backend
请帮我解决此问题并改进我的工作流程!
答案 0 :(得分:0)
您正在使用Atom,这使得更改GOPATH变得更加困难。
Go搜索GOPATH中列出的每个目录以查找源代码,但新包始终会下载到列表中的第一个目录中。
来自https://golang.org/cmd/go/#hdr-GOPATH_environment_variable
即使GOPATH可能是目录列表,对于您机器上的所有Go代码使用单个GOPATH通常也是正确和充分的。由于使用“go get”检索的所有包都有一个唯一的URL(因而是磁盘上的唯一路径),因此使用Go工具构建时几乎不需要多个GOPATH。
来自https://github.com/golang/go/wiki/GOPATH#use-a-single-gopath
答案 1 :(得分:0)
我使用具有特定包的客户端,并亲自使用较轻的项目。它在同一台计算机上。 我主要使用go get来获取它们。
默认情况下,export GOPATH=~/path/to/pro
中有一个~/.bashrc
。
当我想处理我的个人项目时,我export GOPATH=~/path/to/perso
。
当我统一使用多个桌面视图(工作区)时,我让1个工作区带有一个带有正确GOPATH的终端并修补它