go語言每個工程是不是都要單獨設置GOPATH?


 

go語言每個工程是不是都要單獨設置GOPATH?
比如我的go項目都統一管理在d:/workspace/go_work/目錄下面,該目錄下有3個項目project_01,project_02,project_03

d:/workspace/go_work/project_01 d:/workspace/go_work/project_02 d:/workspace/go_work/project_03 

問題:
1、我的GOPATH是不是要設置3個,用分號隔開?像下面這樣:

d:/workspace/go_work/project_01;d:/workspace/go_work/project_02;d:/workspace/go_work/project_03 

2、有100個項目是不是就要在GOPATH中添加100個?

 

========anwser=========

GOPATH下有bin pkg src三個目錄
1.你的project_01可以放在src的目錄下,這樣就不需要每次設置了
2.你的project_01放在任意位置,只要不在GOPATH下,使用go mod,前提是你的go版本是1.11

 

---------

不是,一個系統上(一個用戶)只有一個gopath。

gopath/src/ 項目應該放在這里。
gopath/pkg/由go管理,存一些中間編譯結果。
gopath/bin/ 用於存放軟件程序,go install會將項目編譯后復制到此處,然后便可以命令行直接調用。

未來go版本隨着gomodule的使用,gopath即將廢棄,項目不再依賴於gopath。

 
-----------
 

1個GOPATH就可以了,然后許多項目都在里面,比如我的是這樣:


➜  go echo $GOPATH /Users/xxxx/go ➜ go tree -L 2 $GOPATH . ├── bin │   ├── bee │   ├── beeHello │   ├── cobra │   ├── dlv │   ├── fillstruct │   ├── geth │   ├── geth-tps │   ├── glide │   ├── go-outline │   ├── go-symbols │   ├── gocode │   ├── goconvey │   ├── godef │   ├── godoc │   ├── golint │   ├── gomodifytags │   ├── gopkgs │   ├── goplay │   ├── gorename │   ├── goreturns │   ├── gotests │   ├── govendor │   ├── guru │   ├── hi │   ├── impl │   ├── puppeth │   └── rlpdump ├── pkg │   └── darwin_amd64 └── src ├── awesomeProject ├── beeHello ├── github.com ├── golang.org ├── gopkg.in ├── govendor └── sourcegraph.com

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM