繁体   English   中英

如何在Ubuntu 16.04 LTS中的golang中正确使用多个工作区?

[英]How to use multiple workspaces correctly in golang in Ubuntu 16.04 LTS?

我已经在Ubuntu 16.04 LTS中安装了go-1.6。 我还通过指定两个工作区在其中的位置来设置了两个不同的工作区和$ GOPATH。

但是其中一个工作区(主工作区或主工作区)工作正常,而另一个工作区(辅助工作区)不工作。 我希望使用辅助工作空间在golang中实践Web应用程序开发,而主要工作空间则用于我的项目。 这两个工作区中都有不同的程序包,因为我将它们用于不同的目的。 在使用辅助工作空间时,在程序中导入包时出现“找不到包”之类的错误。 “开始构建”工具在主要工作区中查找那些软件包,但它们存在于次要工作区中。 我正在使用GitHub的Atom编辑器。

即使使用“ go get”安装软件包,这些软件包也会安装在主工作区中。

“环境变量”如下:

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

请帮助我解决此问题并改善我的工作流程!

您正在使用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

我使用带有特定程序包的go来为客户服务,并亲自进行较轻的项目。 在同一台计算机上。 我大多数人都使用go get。

默认情况下,我的~/.bashrc有一个export GOPATH=~/path/to/pro 当我要处理我的个人项目时,我export GOPATH=~/path/to/perso

当我统一使用多个桌面视图(工作区)时,我让1个工作区的终端带有正确的GOPATH并在其中进行修改

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM