์ด ์ ์์ #12488์ ๋จ์ํํ ๊ฒ์ ๋๋ค.
๊ฐ๋จํ ๋งํด์ ์ฌ์ฉ์๊ฐ ํ๊ฒฝ์์ $GOPATH
๋ฅผ ์ค์ ํ์ง ์์ ๊ฒฝ์ฐ go
๋๊ตฌ์ ๊ธฐ๋ณธ๊ฐ์ GOPATH=$HOME/gocode
์
๋๋ค.
_์ด๋ก ์ ํด์_
ํ์ฌ ์ฐ๋ฆฌ๊ฐ ๊ฐ์ง๊ณ ์๋ ๋ชจ๋ ๋ฌธ์์๋ "GOPATH๋ฅผ ์ค์ ํด์ผ ํฉ๋๋ค"๋ผ๊ณ ๋์ด ์๋๋ฐ, ์ฌ๋๋ค์ ์ ์ด ์์
์ ์ํํด์ผ ํ๋์ง ์ดํดํ์ง ๋ชปํ๊ธฐ ๋๋ฌธ์ ์ฃผ์๊ฐ ์ฐ๋งํด์ง๊ณ ํ๋ฅผ ๋
๋๋ค.
๊ธฐ๋ณธ GOPATH๋ฅผ ์ ํํ๋ฉด ๋ค์๊ณผ ๊ฐ์ด ๋งํ ์ ์๊ธฐ ๋๋ฌธ์ ๋ฌธ์๋ฅผ ๋ ์ฝ๊ฒ ๋ง๋ค ์ ์์ต๋๋ค.
$ go get github.com/foo/bar
github.com/foo/bar
repo๋ฅผ $HOME/gocode/src/github.com/foo/bar
๋ก ์ฒดํฌ ์์ํฉ๋๋ค.
ํ๊ฒฝ ๋ณ์๋ฅผ ์ค์ ํด์ผ ํ๋ ์ ๊ท ์ฌ์ฉ์์ ์ฃผ์๋ฅผ ์ฐ๋งํ๊ฒ ํ ํ์๊ฐ ์์ต๋๋ค. ํ์ด์ง ํ๋จ์ ์์ ๊ดํธ ๋ฉ๋ชจ๋ฅผ ๋ฃ๊ธฐ๋ง ํ๋ฉด ๋ฉ๋๋ค.
$HOME/gocode
๋ ์ด๋ ์์ ๊ณต๊ฐ์ ๊ธฐ๋ณธ ๊ฒฝ๋ก์ ๋๋ค. ์ด ๊ฒฝ๋ก๋ฅผ ๋ณ๊ฒฝํ๋ ค๋ฉดGOPATH
๋ณ์๋ฅผ ์ํ๋ ๊ฒ์ผ๋ก ์ค์ ํ์ญ์์ค.
_ํธํ์ฑ_
์ด ์ ์์ $GOPATH
๋ณ์๋ฅผ ์ค์ ํ์ง ์์ ์ ๊ท ์ด๋ฏผ์์ ๊ฒฝํ๋ง ๋ณ๊ฒฝํฉ๋๋ค. ํ์ฌ Go 1.1-1.7์ ์ฌ์ฉํ๋ ์ฌ๋์ ํ์ฌ $GOPATH
๋ฅผ ์ค์ ํด์ผ ํ๋ฏ๋ก ๊ฒฝํ์ด ๋ณ๊ฒฝ๋์ง ์์ต๋๋ค.
/cc @adg @broady @campoy @ianlancetaylor @griesemer @ropike @rsc
๋๋ ๊ทธ๊ฒ์ ์ข์ํ์ง๋ง "gopath"์ ๊ฐ์ ๊ฒ์ด ์๋๋ผ "gocode"์ ๋ํ ํน์ ์ ํธ๋๊ฐ ์์ต๋๊น?
์ผ๋ง๋ ๋ง์ ์ฌ๋๋ค์ด ์ด๋ฏธ GOPATH=$HOME/gocode๋ฅผ ์ฌ์ฉํ๊ณ ์์ต๋๊น? ๋ง์ง ์์ ๊ฒ ๊ฐ์ต๋๋ค. ์ด๋ ์๋ชป๋ ๊ธฐ๋ณธ๊ฐ์์ ๋ํ๋ ๋๋ค.
"gocode"๋ ์ธ๊ธฐ ์๋ ๋๊ตฌ์ธ github.com/nsf/gocode์ ๊ฒ์ ์์ง ๋ฐ ๊ธฐํ ํผ๋์ ์ผ์ผํฌ ๊ฒ์ ๋๋ค.
๋๋ถ๋ถ์ ์ฌ๋๋ค์ด ํ๋ ์ผ์ ๋ํ ์ ๋ณด๊ฐ ์์ต๋๊น?
๋๋ GOPATH=$HOME/gopath๋ฅผ ์ฌ์ฉํ๋ค.
ํ์ฌ GOPATH=$HOME์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ์ฌ๊ธฐ๋ฅผ ์ถ์ฒํฉ๋๋ค.
ํ์ฌ GOPATH=$HOME/gopath๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ์ฌ๊ธฐ๋ฅผ ์ถ์ฒํฉ๋๋ค.
ํ์ฌ GOPATH=$HOME/gocode๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ์ฌ๊ธฐ๋ฅผ ์ถ์ฒํฉ๋๋ค.
@golang์์ ํธ์ํฐ ํฌํ๋ฅผ ํด์ผ ํ๋์?
@campoy , ์ข์ ์๋ฆฌ. ์๋ง๋ ์ด ๋ฒ๊ทธ์ ๋ชจ๋ ์ฌ๋์ ์ด๋ํ๋ ๊ฒ๋ณด๋ค ๋์ ๊ฒ์ ๋๋ค.
$HOME/go๋ ์ด๋ป์ต๋๊น(์ ๊ฐ ์ฌ์ฉํ๋ ๊ฒ์ ๋๋ค).
์ฐธ์กฐ: http://go-talks.appspot.com/github.com/freeformz/talks/20160712_gophercon/talk.slide#7
$ํ: 8.9%
$HOME/go: 50.6%
๊ธฐํ : 40.5%
์ด ์ต์ ์ ๋ํด ๋ ๋ง์ ์ต์ ์ ๋ถํ ํ์ผ๋ฉด ํฉ๋๋ค.
ํฌํ ์์: https://twitter.com/golang/status/781189567437164544
2016๋
9์ 28์ผ ์์์ผ ์ค์ 10:51 Edward Muller [email protected]
์ผ๋ค:
$HOME/go๋ ์ด๋ป์ต๋๊น(์ ๊ฐ ์ฌ์ฉํ๋ ๊ฒ์ ๋๋ค).
โ
๋น์ ์ด ์ธ๊ธ๋์๊ธฐ ๋๋ฌธ์ ์ด๊ฒ์ ๋ฐ๋ ๊ฒ์ ๋๋ค.
์ด ์ด๋ฉ์ผ์ ์ง์ ๋ต์ฅํ๊ณ GitHub์์ ํ์ธ
https://github.com/golang/go/issues/17262#issuecomment -250244110 ๋๋ ์์๊ฑฐ
์ค๋ ๋
https://github.com/notifications/unsubscribe-auth/ACIkDJ83L5fXByqw-NEQ11JxKPGv_iQkks5quqkXgaJpZM4KI0I2
.
์ฌ๊ธฐ์์ 1์ด๋ ์ฐธ์กฐ ํ์ญ์์ค.
@freeformz ,
$HOME/go๊ฐ go ์์ค ์ฝ๋(go.googlesource.com/go)๊ฐ ์์ฃผ ์ฒดํฌ์์๋๋ ๊ฒฝ๋ก์ ์ถฉ๋ํฉ๋๋ค. ์ปค๋ฎค๋ํฐ๊ฐ ์ด ์์น๋ฅผ GOPATH์ ๊ธฐ๋ณธ๊ฐ์ผ๋ก ์ถ๋ณตํ๋ค๋ ๊ฒ์ ์ข์ง ์์ต๋๋ค.
@rakyll ์ ์ ์ ๋ค๋ฅธ ๋ง์ ์ฌ๋๋ค์ด ์ฌ์ฉํ๋ ๊ฒ์ ํ์ํ๊ณ ์ถ์์ต๋๋ค. go.googlesource.com/go๋ ๋ด ์์คํ ์ /usr/local/go.git์์ ์ฒดํฌ์์๋ฉ๋๋ค.
์ผ๋ง๋ ๋ง์ ์ฌ๋๋ค์ด ์ด๋ฏธ GOPATH=$HOME/gocode๋ฅผ ์ฌ์ฉํ๊ณ ์์ต๋๊น? ๋ง์ง ์์ ๊ฒ ๊ฐ์ต๋๋ค. ์ด๋ ์๋ชป๋ ๊ธฐ๋ณธ๊ฐ์์ ๋ํ๋ ๋๋ค.
๊ธฐ๋ก์ ์ํด ๋๋ GOPATH=$HOME
๋ฅผ ์ฌ์ฉํ์ง๋ง ์ด๊ฒ์ด ๋๋ฌด ๋
ผ์์ ์ฌ์ง๊ฐ ์๊ณ ์๋ก์ด ์ฌ์ฉ์๋ฅผ ์ํ ๊ฒฝํ์ ๊ฐ์ ํ๋ ์ด ์ ์์ ๋ชฉํ๋ฅผ ์์์ํฌ ๊ฒ์ด๋ผ๊ณ ์๊ฐํ์ต๋๋ค.
@freeformz , ์ฐ๋ฆฌ๋ $HOME ์ธ๋ถ์ ์๋ ๊ธฐ์กด ์ ์ ๊ฒฝ๋ก์ ๋ํด ์ ๊ฒฝ ์ธ ํ์๊ฐ ์๋ค๊ณ ์๊ฐํฉ๋๋ค. GOPATH์ ๊ธฐ๋ณธ๊ฐ์ $HOME ์ด๋๊ฐ์ ์์ผ๋ฉฐ ์ต์ํ์ ์๊ตฌ ์ฌํญ์ ์ค์ํ ๊ธฐ์กด ๊ฒฝ๋ก์ ์ถฉ๋ํ์ง ์์์ผ ํ๋ค๋ ๊ฒ์ ๋๋ค.
$HOME/gocode๋ ๋์๊ฒ ์์ํ๊ฒ ๋ค๋ฆฌ์ง๋ง ์์ฃผ ์ข์ ์ ํ์ด ๋ ์ ์์ต๋๋ค.
์์ ์ ๊ธฐ๋ณธ๊ฐ์ด ๋ฌด์์ธ์ง๋ ์ค์ํ์ง ์๊ณ ๊ธฐ๋ณธ๊ฐ์ด ์๋ค๋ ๊ฒ์ ๋๋ค.
๊ธฐ๋ณธ๊ฐ์ด ๋ฌด์์ธ์ง๋ ์ค์ํ์ง ์์ต๋๋ค. ์ด ๊ธฐ๋ณธ๊ฐ์ ์ค์ ํ๋ฉด ๊ธฐ๋ณธ์ ์ผ๋ก Go๋ฅผ ์ฒ์ ์ ํ๋ ๋ชจ๋ ์ฌ๋๋ค์ด ์ง๊ธ๋ถํฐ ๋ช ๋ ๋์ ์ด๋ป๊ฒ ์์ ํ๋์ง๊ฐ ๋๊ธฐ ๋๋ฌธ์ ๋๋ค.
go ๋ช ๋ น์ GOPATH=$GOROOT์ผ ๋ ํผ๋๋์ง ์๋๋ก ๋ช ์์ ์ผ๋ก ์งํ๋ฉ๋๋ค. ์๋ฌต์ ์ค์ ์๋ ๋์ผํ ๋ ผ๋ฆฌ๋ฅผ ์ ์ฉํ ์ ์๋ค๊ณ ํ์ ํฉ๋๋ค. ๋ฐ๋ผ์ ์ค์๋ก $HOME/go๋ฅผ ์ค๋งค์ฑํ๋ ๊ฒ์ ๋ํด ๋๋ฌด ๊ฑฑ์ ํ์ง ์์ต๋๋ค.
๋๋ ์ฌ์ ํ ๊ณ ์ ๋ ๊ธฐ๋ณธ๊ฐ ๋์ GOPATH๊ฐ ์ด๋์ ์๋์ง ์์๋ด๊ธฐ ์ํด ํ์ฌ ๋๋ ํ ๋ฆฌ์ ๋ถ๋ชจ๋ฅผ ์๋ ์ค๋ํํด์ผ ํ๋์ง ๊ถ๊ธํฉ๋๋ค. ์ด๊ฒ์ ์ค๋๋ ๋ง์ ์์ค ๋๊ตฌ(์: ๋ชจ๋ ๋ฒ์ ์ ์ด ์์คํ )๊ฐ ์ํํ๋ ์์ ์ด๋ฏ๋ก ์ฌ๋๋ค์ด ์ดํดํ ์ ์๋ ๊ฐ๋ ์ ๋๋ค. ๊ทธ๋ฆฌ๊ณ ํ๋์ ๋๋ ํ ๋ฆฌ ์ด๋ฆ์ ์ฌ์ฉํ๊ฑฐ๋ ํ๋์ GOPATH ์์ ๊ณต๊ฐ๋ง ๊ฐ๋๋ก ๊ฐ์ํ์ง ์์ต๋๋ค. ๊ทธ๋ฌ๋ ์ฐ๋ฆฌ๋ ์๋ ๋ฌธ์ ์ ๋ํด ๊ทธ ๋ ผ์๋ฅผ ํ ์๋ ์์ต๋๋ค.
@rsc ๋๋ ๊ทธ ๊ธฐ๋ณธ๊ฐ์ด GOPATH=$HOME
์ด๊ธธ ์ํฉ๋๋ค. ์๋ํ๋ฉด ๊ทธ๊ฒ์ $GOPATH/bin
๊ฐ ๊ทธ๋ค์ ๊ฒฝ๋ก์ ์์ ๊ฒ์ด๋ผ๋ ๊ฒ์ ์๋ฏธํ๊ธฐ ๋๋ฌธ์
๋๋ค(์ ์ด๋ ๋๋ถ๋ถ์ Linux ๋ฐฐํฌํ์์๋ darwin์ ๋ํด ํ์ ํ์ง ๋ชปํฉ๋๋ค).
$GOPATH=$HOME/go
๋ ์ข์ ์ ํ์ด๊ณ ์ปดํ์ผ๋ฌ์ ์์ค๋ฅผ ์ฒดํฌ์์ํ ์ฌ๋๋ค์ ์ด๋ฏธ GOPATH=something else
ํ๊ธฐ ๋๋ฌธ์ ์ถฉ๋ ๊ฐ๋ฅ์ฑ์ด ์์ต๋๋ค.
๋ถ๋ช ํ ๋งํด์, ๋๋ ๊ฒฝ์ํ๊ฒ ๋งํ๋ ค๊ณ ํ ๊ฒ์ด ์๋๋๋ค.
์์ ์ ๊ธฐ๋ณธ๊ฐ์ด ๋ฌด์์ธ์ง๋ ์ค์ํ์ง ์๊ณ ๊ธฐ๋ณธ๊ฐ์ด ์๋ค๋ ๊ฒ์ ๋๋ค.
์คํ๋ ค ์ด ์ ์์ ๋ชฉํ๋ฅผ ๊ฐ์กฐํ๋ ค๋ ์๋๋ go ๋๊ตฌ๊ฐ $GOPATH
๋ํ ๊ธฐ๋ณธ๊ฐ์ ์ฌ์ฉํ๋๋ก ํ๋ ๊ฒ์
๋๋ค. ์๋ํ๋ฉด ์ด๊ฒ์ด ์ธ์ด๋ฅผ ์ฒ์ ์ ํ๋ ๋ง์ ์ฌ๋๋ค์๊ฒ ํผ๋๊ณผ ์ข์ ์ ์ง์์ ์ธ ์์ธ์ด ๋๊ธฐ ๋๋ฌธ์
๋๋ค.
์๋ ์ค๋ํ์ ์ฌ์ฉ ์ค์ ๋๋ค. ๋ค์๊ณผ ๊ฐ์ ์ฃผ์ ์ฌ์ฉ ์ฌ๋ก์ ์คํจํ๊ธฐ ๋๋ฌธ์ ๋๋ค.
brew install go
๋ผ๋ repo์ README์์ ๋งํ ๋๋ก ๋ฐ๋์ต๋๋ค.go get github.com/thething/theproject
GOPATH=$HOME/go
SGTM์ ๊ธฐ๋ณธ๊ฐ์ ์๋ ์ค๋ํ ๋ฐฉ์์ด ์๋ ๊ธฐ๋ณธ๊ฐ์ ๊ฒฐ์ ํ๋ค๊ณ ๊ฐ์ ํฉ๋๋ค.
go ๋ช ๋ น์ GOPATH=$GOROOT์ผ ๋ ํผ๋๋์ง ์๋๋ก ๋ช ์์ ์ผ๋ก ์งํ๋ฉ๋๋ค. ์๋ฌต์ ์ค์ ์๋ ๋์ผํ ๋ ผ๋ฆฌ๋ฅผ ์ ์ฉํ ์ ์๋ค๊ณ ํ์ ํฉ๋๋ค.
์ ๋ค๋ฆฐ๋ค.
๋ค์์ ๋ํด ํ์ ์ด ์๋ค
๋ค์์๋ ์์ต๋๋ค.
์ด๊ฒ์ด ์ ์ฌ์ฉ์๋ฅผ ์ํ ๊ฒ์ด๋ผ๋ฉด GOPATH=$HOME
์ ๋ํด ์กฐ์ธํ ๊ฒ์
๋๋ค. ๊ทธ๋ ๊ฒ ํ๋ฉด ํ ๋๋ ํ ๋ฆฌ์ ํ๋๊ฐ ์๋ ์ธ ๊ฐ์ ๋๋ ํ ๋ฆฌ๊ฐ ์์ฑ๋๊ธฐ ๋๋ฌธ์
๋๋ค. ๋๋ ํ์ ์ด์์ผ๋ก ๋ด ํ ๋๋ ํ ๋ฆฌ๋ฅผ ์ค์ผ์ํค๋ ์ํํธ์จ์ด์ ์ด์คํ์ง ์์ต๋๋ค.
@mvdan ์ดํดํ๊ณ ๋น์ ์ ๋ฐ์์ ๋ด๊ฐ GOPATH=$HOME
์ ์ํ์ง ์์ ์ด์ ์
๋๋ค.
_I_ ๊ฐ์ธ์ ์ผ๋ก GOPATH
๋ฅผ $HOME
๋ก ์ค์ ํ๋ ค๋ฉด ํด๋น ์ต์
์ ๊ณ์ ์ฌ์ฉํ ์ ์์ผ๋ฉฐ ์ด ์ ์์ด Go 1.8์ ๋ํด ์๋ฝ๋๋๋ผ๋ ๋ณ๊ฒฝํ์ง ์์์ผ ํฉ๋๋ค.
@davecheney
๊ธฐ๋ณธ๊ฐ์ GOPATH=$HOME/gocode ๊ฐ์ ๋๋ค.
Windows์๋ ๊ธฐ๋ณธ HOME ๋ณ์๊ฐ ์์ต๋๋ค. Windows์์ ๋ฌด์์ ํ ๊ฒ์ ์ ์ํฉ๋๊น?
$GOPATH/bin์ด ๊ฒฝ๋ก์ ์์์ ์๋ฏธํ๊ธฐ ๋๋ฌธ์ ๊ธฐ๋ณธ๊ฐ์ GOPATH=$HOME์ผ๋ก ์ค์ ํ๊ณ ์ถ์ต๋๋ค.
๋๋ ํญ์ ๋ด PATH์ $GOPATH/bin์ด ์๋์ง ๊ฑฑ์ ํฉ๋๋ค. go get
๋ ๋ค๋ฅธ ์ฌ๋์ ํ๋ก๊ทธ๋จ์ ๊ฑฐ๊ธฐ์ ์ค์นํฉ๋๋ค. ์๋ก์ด Go ์ฌ์ฉ์๊ฐ PATH ์ด๋๊ฐ์ ์ธํฐ๋ท์์ ์์์ ํ๋ก๊ทธ๋จ์ ์ค์นํ๊ธฐ๋ฅผ ์ ๋ง๋ก ์ํฉ๋๊น?
์๋ ์ค
์ ๋ ์๋ จ๋ Windows ์ฌ์ฉ์๋ ์๋์ง๋ง ๋ฌธ์์ ์ค์ ์ด ์ ์ฅ๋๋ ๊ธฐ๋ณธ ๊ฒฝ๋ก์ ๋ํ ๊ฐ๋ ์ด ์๋ค๊ณ ๊ฐ์ ํฉ๋๋ค. ์ด ํ ๋ก ์ ๋ชฉ์ ์ ์ํด ๋ด๊ฐ Windows ์ฌ์ฉ์์ ์ปจํ ์คํธ์์ ํด๋น ๊ฒฝ๋ก์ ๋ํด ์ด์ผ๊ธฐํ๊ณ ์๋ค๊ณ ๊ฐ์ ํฉ๋๋ค.
๊ทธ๋ฌํ ๊ฒฝ๋ก๊ฐ ์์ผ๋ฉด C:/gocode๋ก ๊ฐ์ ํฉ๋๋ค.
GOPATH=$HOME์ ๋ํ ๋ด ์๊ฒฌ์ ๋ํ ๊ธ์ ๋๋ค. ์ด๊ฒ์ ๋ด ๊ฐ์ธ ์ทจํฅ์ด๋ฉฐ ์์ผ๋ก๋ ๊ณ์ ๊ทธ๋ด ๊ฒ์ด์ง๋ง ์ด๊ฒ์ด ๊ธฐ๋ณธ๊ฐ์ ๋ํ ๋ ผ์์ ์ฌ์ง๊ฐ ์๋ ์ต์ ์ด๋ฉฐ ์ ์๋ ๊ฐ์ผ๋ก ์ ์ํ์ง ์์์์ ์๊ณ ์์ต๋๋ค.
์๋ ๊ฐ์ง์๋ ์ํ์ด ๋ฐ๋ฆ ๋๋ค. ๋๋ ์ด๊ฒ์ ์ผ๋ง ์ ์ ํ๋กํ ํ์ดํํ๊ธฐ ์์ํ์ง๋ง ์ด๋ ๋๊ตฌ์ ์ฌ์ฉ์ ๊ฒฝํ ๋ชจ๋์ ์๋นํ ๋ณต์ก์ฑ์ ์ถ๊ฐํ์ต๋๋ค.
๋๋ ํจํค์ง ๊ด๋ฆฌ ์์ ๊ทธ๋ฃน์์ ๋ฌด์จ ์ผ์ด ์ผ์ด๋๊ณ ์๋์ง์ ๋ํด ์ด์ผ๊ธฐํ๊ณ ์์ง ์์ง๋ง GOPATH๊ฐ ์์ ํ ์ ๊ฑฐ๋๋ ๋ฉ์ง ์์ ๋ฏธ๋๋ฅผ ์์ํ ์ ์์ต๋๋ค.
์ฆ, ๊ฐ๊น์ด ์ฅ๋์ GOPATH๊ฐ ์ฌ๋ผ์ง๋๋ผ๋ ๊ธฐ๋ณธ๊ฐ์ ์ค์ ํ๋ ๋ฐ ์ฌ์ ํ ๊ฐ์น๊ฐ ์์ ์ ์์ต๋๋ค. GOPATH๊ฐ ์ฌ๋ผ์ง ๊ฐ๋ฅ์ฑ์ด ์๋ค๊ณ ์๊ฐํ๋ค๋ฉด, ์ฐ๋ฆฌ๊ฐ ๋ฌด์์ ์ค์ ํ๋์ง๋ ๊ทธ๋ค์ง ์ค์ํ์ง ์์ต๋๋ค.
์์์ ์ฝ์ ๋ด์ฉ์์ ๋ค์๊ณผ ๊ฐ์ ํฉ์๊ฐ ์์ต๋๋ค.
GOPATH=$HOME
๋ ๋๋ฌด ๊ณต๊ฒฉ์ ์
๋๋ค.go
๋ฌธ์์ด์ ํฌํจํด์ผ ํฉ๋๋ค(์ ๋์ฌ์ผ ๊ฐ๋ฅ์ฑ์ด ๋์).๋๋ GOPATH๊ฐ ๋ฉ์ธ go repo(์ฆ, GOPATH == GOROOT)์ ๋ณต์ ๋ณธ์ด ๋๋ ๊ฒ์ ๋ํด ๊ฑฑ์ ํ์ง ์๋๋ค. go repo๋ฅผ ์ฒดํฌ์์ํ๋ ์ฌ๋๋ค์ GOPATH ์ธํธ๋ฅผ ๊ฐ์ง๊ณ ์์ ๊ฒ์ ๋๋ค. go ๋๊ตฌ๋ ์ค๋๋ ๊ณผ ๊ฐ์ด ์ด์จ๋ ์ถฉ๋์ ๊ฐ์งํฉ๋๋ค.
์ด๋ฅผ ์ผ๋์ ๋๊ณ ๊ฐ์ฅ ๊ฐ๊ฒฐํ ๊ธฐ๋ณธ๊ฐ์ $HOME/go
์ด๋ฉฐ, ์ด๋ ์๋นํ ํฉ๋ฆฌ์ ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค.
๋ฌธ์์ ์ค์ ์ด ์ ์ฅ๋๋ ๊ธฐ๋ณธ ๊ฒฝ๋ก์ ๋ํ ๊ฐ๋ ์ด ์๋ค๊ณ ๊ฐ์ ํฉ๋๋ค.
๋๋ ๊ทธ๋ฐ ๊ฒ์ ๋ชจ๋ฅธ๋ค. ์๋ง๋ ๋ค๋ฅธ Windows ์ฌ์ฉ์๊ฐ ์ฌ๊ธฐ์ ๋๊ธ์ ๋ฌ ๊ฒ์ ๋๋ค.
๊ทธ๋ฌํ ๊ฒฝ๋ก๊ฐ ์์ผ๋ฉด C:/gocode๋ก ๊ฐ์ ํฉ๋๋ค.
๋์ C:gocode๋ฅผ ์ํฉ๋๋ค.
C:\์ ๋ฃจํธ์ ๋ฌผ๊ฑด์ ๋ฃ๋ ๊ฒ์ ๋์๊ฒ ์ณ์ง ์๊ฒ ๋ค๋ฆฝ๋๋ค. Linux์์ GOPATH๋ฅผ /gocode๋ก ์ค์ ํ๋๋ก ๊ถ์ฅํ์๊ฒ ์ต๋๊น?
๊ทธ๋ฌ๋ Windows ์ค์น ํ๋ก๊ทธ๋จ์ด ์ด๋ฏธ Go into C:go๋ฅผ ์ค์นํ ๊ฒฝ์ฐ GOPATH์ฉ C:gocode๋ ์ต์ํ ์ผ๊ด์ฑ์ด ์์ต๋๋ค.
์๋ ์ค
๊ทธ๋ฌ๋ Windows ์ค์น ํ๋ก๊ทธ๋จ์ด ์ด๋ฏธ Go into C:go๋ฅผ ์ค์นํ ๊ฒฝ์ฐ GOPATH์ฉ C:gocode๋ ์ต์ํ ์ผ๊ด์ฑ์ด ์์ต๋๋ค.
์ฌ์ฉ์๋ณ๋ก GOPATH๋ฅผ ์ ๊ณตํ๋ฉด ์๋๋์? UNIX์ ๋์ผํ๋ ค๋ฉด %USERPROFILE%\gocode
๋ผ๊ณ ์๊ฐํฉ๋๋ค.
https://goo.gl/xAsgEj ์์ Go+ ์ค๋ฌธ์กฐ์ฌ
$HOME/go-programs์ ๊ฐ์ ๊ฒ์ ์ค๋ซ๋์ ์ฌ์ฉํ ํ GOPATH๋ฅผ $HOME์ผ๋ก ์ ํํ์ต๋๋ค. ์ด์ ๋ค์ ๊ตฌ์กฐ๊ฐ ์์ต๋๋ค.
$HOME/bin
$HOME/ํฉ
$HOME/src/
$HOME/src/github.com/user/some_github_project
$HOME/src/some_project
์ด ๊ตฌ์กฐ๋ ๋ ์ผ๋ฐ์ ์ด๋ฉฐ ๋ค๋ฅธ ์ธ์ด๋ ํ๋ก์ ํธ ๋ฐ github์ ํจ๊ป ์ฌ์ฉํ๋ ๋ฐ์๋ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด ์ ๋ $HOME/src/talks(๋งํฌ๋ค์ด ํ์ผ์ ๋ํด์๋ home/sources/talks๋ฅผ ์ฝ์) ๋๋ ์ผ๋ถ ์ธ์ด($HOME/src/github.com/user/html๊ณผ ๊ฐ์)๋ก ๋ ๋ค๋ฅธ ํ๋ก์ ํธ๊ฐ ์์ง๋ง ์์ค๋ ์๊ณ ํ๋๊ฐ ์์ต๋๋ค. github ๋์ ์ฌ๋ถ์ ๊ด๊ณ์์ด ๋ง์ ํ๋ก์ ํธ ์์ค๋ฅผ ์ํ ์ฅ์.
bin ๋๋ pkg๋ ์ง์ ๋ถํ ๊ฒ์ผ๋ก ๊ฐ์ฃผ๋ ์ ์์ง๋ง ๊ทธ๋ ๊ฒ ์ฑ๊ฐ์์ง๋ ์๋ค๊ณ ์๊ฐํฉ๋๋ค. ์ฌ๋ฌ ์ธ์ด๋ฅผ ์ฌ์ฉํ๋ ์ฌ๋๋ค์ ์ํด ๋ง์ ์์ค ํด๋๊ฐ ์๋ ๊ฒ์ ๋ ์ง์ ๋ถํฉ๋๋ค.
๊ทธ๋์ ๋ด ๊ด์ ์์ ์ต๊ณ ์ GOPATH ์ฅ์๋ $HOME์ ๋๋ค.
๋ด GOPATH๋ก $HOME/gocode๋ฅผ ์ฌ์ฉํ๊ณ ์์ต๋๋ค.
๋๋๋ก ๋ฃจํธ ๊ถํ์ด ์๊ณ ํ ๋๋ ํ ๋ฆฌ ์๋์ Go๋ฅผ ์ค์นํด์ผ ํ๊ธฐ ๋๋ฌธ์ ์ ๋ $HOME/go์ ๋ฐ๋ํฉ๋๋ค. ๊ทธ๋ฐ ๊ฒฝ์ฐ์๋ $HOME/go๊ฐ GOROOT์ ๊ฐ์ฅ ์ ํฉํ ๊ฒ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค.
๋ฐ๋ผ์ $HOME/go์ ๋ค๋ฅธ ๊ฒ์ GOPATH๋ก ์ฌ์ฉํด์ผ ํฉ๋๋ค.
@hnakamur ์๋์ผ๋ก Go๋ฅผ ์ค์นํ ๋(์ง๊ธ Ubuntu Make ์ฌ์ฉ), $HOME/bin/go-${go_version}์ ๋ฃ์์ต๋๋ค($HOME/bin/go์์ $HOME/bin/go-$์ผ๋ก์ ์ฌ๋ณผ๋ฆญ ๋งํฌ ์ฌ์ฉ) {version}/bin/go, ๊ทธ๋์ ๋ด $PATH๋ฅผ ํธ์งํ ํ์๊ฐ ์์์ต๋๋ค)
@tbroyer ํ์ ์์ฅ์ ๋๋ค. ๋๋ถ๋ถ์ ์ฌ์ฉ์๋ ์ถ๊ฐ ๊ตฌ์ฑ์ด๋ ์ค์ ์ ์ํ์ง ์์ต๋๋ค. ๋ด ์๊ฐ์ ~/bin์ ์ด๋ฏธ (๋์ฒ๋ผ) ์์ ์ ์คํฌ๋ฆฝํธ ๋๋ ๋ฐ์ด๋๋ฆฌ๋ฅผ ๋ฃ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ~/bin (~/src, ~/pkg) ๋นํธ๊ฐ go ๋ฐ์ด๋๋ฆฌ๋ฅผ ์ ๊ฑฐํ๊ธฐ ์ด๋ ต๊ฒ ํ๋ค๊ณ ์๊ฐํฉ๋๋ค.
๋ด GOPATH์ $HOME์ ์ฌ์ฉํฉ๋๋ค.
GOPATH๋ฅผ ์๋์ผ๋ก ์ค์ ํ๋ ์ด์
GOPATH๋ฅผ ์๋์ผ๋ก ์ค์ ํ๋ ์ด์
๋ฌธ์ ๋ ์ฌ๋๋ค์ด (๋๋ถ๋ถ์ ๊ฒฝ์ฐ) ํ๊ฒฝ ๋ณ์๋ฅผ ์ค์ ํ๋ ๋ฐฉ๋ฒ์ ๋ชจ๋ฅธ๋ค๋ ๊ฒ์ด ์๋๋ผ, ์ค์ ํ๋๋ผ๋ Go ์ฌ์ฉ์ ์์ํ๊ธฐ ์ํด ์ฌ๋ฌ ๋จ๊ณ๋ฅผ ๊ฑฐ์ณ์ผ ํ๋ ๊ฒ์ด ๋ถํธํ๋ค๋ ๊ฒ์ ๋๋ค. Go๋ฅผ ์ค์นํ๋ ์ฆ์ ์ ์์ ์ธ ๊ธฐ๋ณธ ์ค์ ์ผ๋ก ์ฌ์ฉํ ์ ์๋ค๋ ๊ฒ์ ๊ฒฝํ์ ์ต๋ํ ๋งค๋๋ฝ๊ฒ ๋ง๋ค๊ณ ๋ ๋ง์ ์ฌ๋๋ค์ด ๋ค์ด๋ก๋ ํ ์ฅ์ ๋ฌผ์ ๋ง๋ ๊ธฐ์ธ๋ฅผ ์๋ ๋์ ์ค์ ๋ก Go๋ฅผ ์๋ํ ๊ฐ๋ฅ์ฑ์ด ๋๋ค๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค. ๊ฑด๋๋ฆด ๊ฐ์น๊ฐ ์๋ค๊ณ ํ๋จํฉ๋๋ค.
๋๋ Chris์ Andrew์ ๋ง์ ๋์ํ๋ ๊ฒฝํฅ์ด ์์ต๋๋ค. ๊ธฐ๋ณธ GOPATH๊ฐ ์์ด์ผ ํ๋ค๋ฉด gopath๋ gocode๊ฐ ์๋๋ผ $HOME/go์ฌ์ผ ํฉ๋๋ค. _๋๋ถ๋ถ์_ ์ฌ์ฉ์๋ Go ๋ฐฐํฌํ์ ํ์ธํ์ง ์์์ต๋๋ค(์ค๋๋ ๋ชจ๋ ์ฌ์ฉ์๋ ์ด๋ฏธ GOPATH๋ฅผ ์ค์ ํ๋ฏ๋ก ๊ท์ฐฎ๊ฒ ํ์ง ์์ ๊ฒ์ ๋๋ค). ๊ธฐ๋ณธ๊ฐ์ ๊ณ ๊ธ ์ฌ์ฉ์๊ฐ ์๋ ์ ๊ท ์ฌ์ฉ์์๊ฒ ์ ํฉํด์ผ ํ๋ฉฐ ๋๋ถ๋ถ์ ์ฌ์ฉ์์๊ฒ๋ $HOME/go๊ฐ ์ ํฉํฉ๋๋ค.
Jaana๋ $HOME/go๊ฐ Go ๋ฐฐํฌํ์ธ ๊ฒฝ์ฐ go ๋ช ๋ น์ด ํผ๋์ค๋ฌ์์ง๋ ๊ฒ์ ๋ํ ์ฐ๋ ค๋ฅผ ์ ๊ธฐํ์ง๋ง go ๋ช ๋ น์ ์ด๋ฏธ ์ฐ๋ฐ์ ์ธ GOPATH=$GOROOT๋ฅผ ํ์ธํฉ๋๋ค. GOPATH๊ฐ ์์์ ์ผ๋ก ์ค์ ๋ ๊ฒฝ์ฐ์๋ ์ด๊ฒ์ด ์ฌ์ค์ธ์ง ํ์ธํ๋ ๊ฒ์ ์ฝ์ต๋๋ค. ์ค์ ๋ก $HOME/go/src/cmd/go/alldocs.go์ ๊ฐ์ด GOROOT!=$HOME/go๊ฐ ์์ง๋ง $HOME/go๊ฐ ์คํ๋๋ ๊ฒฝ์ฐ์๋ ํผ๋์ ํผํ๊ธฐ ์ํด ๊ฒ์ฌ๋ฅผ ํ์ฅํ๋ ๊ฒ๋ ์ฝ์ต๋๋ค. Go ๋ฐฐํฌํ์ ํฌํจํฉ๋๋ค.
$HOME/go๋ GOPATH์ ์ข์ ์ต์
์ด ์๋๋๋ค. ๊ฐ๋จํ ๋์์ ์ฐ์ตํด ๋ณด๊ฒ ์ต๋๋ค... ์๋ก์ด ์ฌ์ฉ์๋ ๊ธฐ๋ณธ๊ฐ์ ๋ชจ๋ฒ ์ฌ๋ก์ฒ๋ผ ์ฝ๊ฒ ์๊ฐํ ์ ์์ต๋๋ค. ๋ด๊ฐ ์๋ก์ด ์ฌ์ฉ์๋ผ๊ณ ๊ฐ์ ํด ๋ณด๊ฒ ์ต๋๋ค. ์ ๊ธฐ๋ณธ๊ฐ์ ๋์ ๊ฒ์ผ๋ก ๊ฐ์ฃผํด์ผ ํฉ๋๊น? ๊ทธ ์ด์์ผ๋ก golang์ ์ค์นํ๋ ๊ฐ์ฅ ์ฌ์ด(๊ทธ๋ฆฌ๊ณ ๊ฐ์ฅ ์ข์?) ๋ฐฉ๋ฒ์ $HOME์์ ์์ถ์ ํธ๋ ๊ฒ์
๋๋ค. ์ด ๋ฐฉ๋ฒ์ ์ฌ์ฉํ๋ฉด ์ปดํ์ผ๋ฌ๊ฐ ํญ์ ๋ง์ง๋ง ๋ฒ์ ์ ์๊ณ ๋ฃจํธ ๊ถํ์ด ํ์ํ์ง ์๊ธฐ ๋๋ฌธ์ ๋ง์ ์ฌ์ฉ์๊ฐ ์ปดํ์ผ๋ฌ๋ฅผ ์ฌ์ฉํ ๊ฒ์ด๋ผ๊ณ ์ฝ๊ฒ ๊ฐ์ ํ ์ ์๊ธฐ ๋๋ฌธ์
๋๋ค. $HOME/go์ ์์ต๋๋ค. ๋จ์ํ ํ ์ ์๋๋ฐ ์ ์ปดํ์ผ๋ฌ๋ฅผ /usr/local๋ก ์ฎ๊ฒจ์ผ ํฉ๋๊น?
๊ทธ ์ด์์ผ๋ก ๊ทธ๋ค์ ํ๋ก์ ํธ๋ฅผ ๋ง๋ค๊ณ ์ด ํด๋์์ ํ๋ก์ ํธ๋ฅผ ๋ณต์ ํ ์ ์์ต๋๋ค. ๊ทธ๋์ ๊ทธ๋ค์ ์ง์ ๋ถํ ํด๋๋ฅผ ๊ฐ๊ฒ ๋ ๊ฒ์ด๊ณ ์กฐ๊ธ ๋ถ์ฃผ์ํ๋ฉด ์๋ก์ด golang ์ฌ์ค์น๋ก ํ๋ก์ ํธ ํด๋๋ฅผ ์ฝ๊ฒ ์ญ์ ํ ์ ์์ต๋๋ค.
๋ํ Windows ์ฌ์ฉ์๋ ๊ธฐ๋ณธ์ ์ผ๋ก c:go๋ฅผ ์ฌ์ฉํฉ๋๋ค.
์ ๋ $HOME/gopath๋ฅผ ์ข์ํฉ๋๋ค. ๊ทธ๊ฒ์ด ๋ฌด์์ธ์ง ๋งํฉ๋๋ค.
"gopath"์ ๋ํ Google์ ์ฒซ ๋ฒ์งธ ๊ฒฐ๊ณผ๋ ์ฌ๋ฐ๋ฅธ ํ์ด์ง์
๋๋ค.
๊ธฐ๋ณธ๊ฐ์ด ์ฑํ๋๋ฉด func GOPATH() string
ํจ์๋ฅผ runtime
์ถ๊ฐํ ์ ์์ต๋๊น? ์ง๊ธ ๋น์ฅ์ os.Getenv()
์ฌ์ฉํ ์ ์์ง๋ง ๊ธฐ๋ณธ์ ์ผ๋ก๋ ๊ทธ๋ ๊ฒ ๊ฐ๋จํ์ง ์์ ๊ฒ์
๋๋ค.
@btracey , GOPATH๋ ๋จ์ผ ๊ฐ์ด ์๋ ๋ชฉ๋ก์
๋๋ค. filepath.SplitList
ํฉ๋๋ค. ๋ํ GOPATH๋ ๋ฐํ์์ ๊ธฐ๋ฅ์ด ์๋๋๋ค. cmd/go
์๋ง ํด๋น๋ฉ๋๋ค.
์ด์ ๋ฒ์ ๊ณผ์ ํธํ์ฑ์ ์ํด ์๋ง๋ ํ๋ก์ธ์ค์์ GOPATH๋ฅผ ์ค์ ํด์ผ ํ ๊ฒ์
๋๋ค'
ํ๊ฒฝ์ด ์ค์ ๋์ง ์์ ๊ฒฝ์ฐ.
2016๋
9์ 30์ผ 08:10, Brendan Tracey [email protected]
์ผ๋ค:
๊ธฐ๋ณธ๊ฐ์ด ์ฑํ๋๋ฉด func GOPATH() ๋ฌธ์์ด ํจ์๋ฅผ ์ถ๊ฐํ ์ ์์ต๋๊น?
๋ฐํ์์? ์ง๊ธ์ os.Getenv()๋ฅผ ์ฌ์ฉํ ์ ์์ง๋ง ๊ธฐ๋ณธ์ ์ผ๋ก
๊ทธ๋ ๊ฒ ๊ฐ๋จํ์ง ์์ ๊ฒ์ ๋๋ค.โ
๋น์ ์ด ์ธ๊ธ๋์๊ธฐ ๋๋ฌธ์ ์ด๊ฒ์ ๋ฐ๋ ๊ฒ์ ๋๋ค.
์ด ์ด๋ฉ์ผ์ ์ง์ ๋ต์ฅํ๊ณ GitHub์์ ํ์ธ
https://github.com/golang/go/issues/17262#issuecomment -250605418 ๋๋ ์์๊ฑฐ
์ค๋ ๋
https://github.com/notifications/unsubscribe-auth/AIDilc6cjWl0r3-V-6FWruHIiYA_X4nJks5qvDc5gaJpZM4KI0I2
.
@bradfitz๊ฐ ๋ง์ต๋๋ค. @adg ๊ฐ ์ ์ํ ์๋ฃจ์ ์ ๋ด ๋ชจ๋ ์ฉ๋๋ฅผ ์ถฉ์กฑํฉ๋๋ค.
์ด๊ฒ์ ํฅ๋ฏธ๋ก์ด ์ฃผ๋ฆ์
๋๋ค. ๋๋ ํ์ฌ ์ด๊ฒ์ด ์คํจํ๋ ๊ฒ์ ๋ณผ ์ ์์ต๋๋ค.
GOPATH๊ฐ ์ค์ ๋์ง๋ง GOPATH์ ์ฌ๋ฌ ๊ฐ์ด ํฌํจ๋ ๊ฒฝ์ฐ
์์ฉ ํ๋ก๊ทธ๋จ์ด ํ๋์ ์์คํ
์ ๊ตฌ์ถ๋์ด ๋ฐฐํฌ๋๋ ๊ฒฝ์ฐ๊ฐ ์์ต๋๋ค.
๋ ๋ค๋ฅธ.
์ด GOPATH ์ฌ์ฉ๋ฒ์ ๋ฌด์ํ๊ณ ์ถ์ง ์์ต๋๋ค.
๊ทํ์ ์์ฉ ํ๋ก๊ทธ๋จ์ ๋ํ ์ง์ ํ์ผ์ ์ฐพ์ ์ ์์ง๋ง
์ด ์ฌ์ฉ๋ฒ์ด ์ผ๋ง๋ ๋๋ฆฌ ํผ์ ธ ์๊ณ ํ์ฌ
๊ตฌํ์ ์์์ ๊ฐ์กฐํ ๋ฌธ์ ๋ฅผ ๋ค๋ฃน๋๋ค.
2016๋ 9์ 30์ผ ๊ธ์์ผ 08:35 Brendan Tracey [email protected] ์ ๋ค์๊ณผ ๊ฐ์ด ์ผ์ต๋๋ค.
@bradfitz https://github.com/bradfitz ๊ฐ ๋ง์ต๋๋ค
@adg https://github.com/adg์์ ์ ์ํ ๋ชจ๋ ์ฉ๋๋ฅผ ์ถฉ์กฑํฉ๋๋ค.โ
๋น์ ์ด ์ธ๊ธ๋์๊ธฐ ๋๋ฌธ์ ์ด๊ฒ์ ๋ฐ๋ ๊ฒ์ ๋๋ค.
์ด ์ด๋ฉ์ผ์ ์ง์ ๋ต์ฅํ๊ณ GitHub์์ ํ์ธ
https://github.com/golang/go/issues/17262#issuecomment -250611813 ๋๋ ์์๊ฑฐ
์ค๋ ๋
https://github.com/notifications/unsubscribe-auth/AAAcA_e53SwZ7Zf_rWCcbZTyPEmXXhUTks5qvD1JgaJpZM4KI0I2
.
๋์ ์ฌ์ฉ๋ฒ์ ์ ์์ ์ธ ๊ฒ์ด ์๋๋ค. ๋๋ ๊ณผํ์ ์ฐ๊ตฌ๋ฅผ ํ๊ณ ์์ผ๋ฉฐ gopath/src
๋ฐ gopath/bin
๋ฟ๋ง ์๋๋ผ gopath/data
๋ฐ gopath/results
๋ ์๋ ๊ฒ์ด ๋งค์ฐ ํจ๊ณผ์ ์ด๋ผ๋ ๊ฒ์ ๋ฐ๊ฒฌํ์ต๋๋ค. ๋ฐ๋ผ์ ๊ฒฐ๊ณผ ํ์ผ(๊ธฐ๊ฐ๋ฐ์ดํธ)์ ๋ณต์ฌํ์ง ์๊ณ ๋ ์์ค ํ์ผ์ ์ ์์คํ
์ผ๋ก ์ฝ๊ฒ ๋ณต์ฌํ ์ ์์ต๋๋ค. ์ ์์คํ
(์: ํด๋ฌ์คํฐ)์ ์ ๊ฒฐ๊ณผ ํ์ผ์ ์์ฑํ๊ณ ๋๋ ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ์ค์ ์์น์ ๋ณต์ฌํ ์ ์์ต๋๋ค. ์ ๋ง ์ฌ์ด ๋ค์ ๋ง์ํ๊ธฐ์ gopath = os.Getenv("GOPATH")
ํ๊ณ ํ์ผ ์ ์ฅ๊ณผ ๊ฐ์ ๋ญ๊ฐ filepath.Join(gopath, "results", "projectname", result.json)
.
๊ฐ์ฌํฉ๋๋ค. ๋ถ๋ช
ํ ๋ง์๋๋ฆฌ์๋ฉด ๊ทํ์ ์ฌ์ฉ๋ฒ์ด ์๋ชป๋์๊ฑฐ๋
์๋ชป, ๋๋ ๋จ์ง GOPATH wrt์ ์ด ์ฌ์ฉ๋ฒ์ ์ดํดํ๊ณ ์ถ์์ต๋๋ค.
๋ด๊ฐ ๊ฐ์กฐํ ์ ์ฝ ์กฐ๊ฑด.
2016๋ 9์ 30์ผ ๊ธ์์ผ 09:09 Brendan Tracey [email protected]์์ ๋ค์๊ณผ ๊ฐ์ด ์ผ์ต๋๋ค.
๋์ ์ฌ์ฉ๋ฒ์ ์ ์์ ์ธ ๊ฒ์ด ์๋๋ค. ๋๋ ๊ณผํ์ ์ฐ๊ตฌ๋ฅผ ํ๊ณ ๋ฐ๊ฒฌํ
gopath/src์ gopath/bin ๋ฟ๋ง ์๋๋ผ
gopath/data ๋ฐ gopath/results. ์ด๋ ๊ฒ ํ๋ฉด ์์ค๋ฅผ ์ฝ๊ฒ ๋ณต์ฌํ ์ ์์ต๋๋ค.
(๊ธฐ๊ฐ๋ฐ์ดํธ)๋ฅผ ๋ณต์ฌํ ํ์ ์์ด ์ ์์คํ ์ผ๋ก ํ์ผ์
๊ฒฐ๊ณผ ํ์ผ. ์ ์์คํ (์: ํด๋ฌ์คํฐ)์ ์ ๊ฒฐ๊ณผ ํ์ผ์ ์์ฑํฉ๋๋ค.
๊ทธ ๊ฒฐ๊ณผ๋ฅผ ์ค์ ์์น์ ๋ณต์ฌํ ์ ์์ต๋๋ค. ์ ๋ง ์ฝ์ต๋๋ค
๊ทธ๋ฐ ๋ค์ gopath = os.Getenv("GOPATH")๋ผ๊ณ ๋งํ๊ณ filepath.Join(gopath,
"๊ฒฐ๊ณผ", "ํ๋ก์ ํธ ์ด๋ฆ", result.json).โ
๋น์ ์ด ์ธ๊ธ๋์๊ธฐ ๋๋ฌธ์ ์ด๊ฒ์ ๋ฐ๋ ๊ฒ์ ๋๋ค.
์ด ์ด๋ฉ์ผ์ ์ง์ ๋ต์ฅํ๊ณ GitHub์์ ํ์ธ
https://github.com/golang/go/issues/17262#issuecomment -250617618 ๋๋ ์์๊ฑฐ
์ค๋ ๋
https://github.com/notifications/unsubscribe-auth/AAAcA_CKox90AQMMAxOs9wEL2ffY0S0zks5qvEUPgaJpZM4KI0I2
.
ํ์ฌ GOPATH=$HOME/.go
์ฌ์ฉ ์ค์ด๋ผ๋ฉด ์ฌ๊ธฐ๋ฅผ ์ถ์ฒํฉ๋๋ค.
@davecheney ๋ ๊ณต๊ฒฉ์
์ด ํ ๋ก ์์ ์ง์ ํ์ผ์ ์ฐพ๊ธฐ ์ํด GOPATH ์ฌ์ฉ์ ๋จ๊ฒจ๋๋๋ก ํฉ์๋ค.
(GOPATH๋ ๋ฐํ์ ์ค์ ์ด ์๋ ์ปดํ์ผ ์๊ฐ ์ค์ ์ ์๋ฏธํฉ๋๋ค. ์ฌ๋๋ค์ด ๋๋๋ก ์ด๋ฅผ ํ๋ฆฌ๊ฒ ์ฒ๋ฆฌํ๊ณ GOPATH๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐํ์์ ๊ด๋ จ ํ์ผ์ ์ฐพ๋ ๊ฒ์ ์๊ณ ์์ง๋ง, ๊ทธ๋ ๊ฒ ํ๊ฑฐ๋ ์ผ๋ฐ์ ์ผ๋ก ์ง์ ํ์ผ์ ๋ํ ๋ ๋์ ์คํ ๋ฆฌ๊ฐ ํ์ํ์ง๋ง ์ด๋ ๋ณ๋์ ๋ฌธ์ ์ฌ์ผ ํฉ๋๋ค.)
๋ฐํ์ ์ ๊ด๋ จ ํ์ผ ์ฐพ๊ธฐ ๊ด๋ จ: #12773
๋ค์ ํ ๋ฒ @rsc ํ ๋ก ์ @randall77 , #12773 ์ด ๋ฌธ์ ๋ฅผ ์ง์ ํด๊ฒฐํ๋ ๊ฒ๋ณด๋ค ์ฌ์ฉํ๊ธฐ๊ฐ ๋ ์ด๋ ต์ต๋๋ค. ํ์ผ์ด ํ์ํ(๋๋ ํ์ผ์ ์ ์ฅํ๊ธฐ ์ํด) ํน์ ์ฝ๋๋ ๋ง์ด ์ด๋ํ ์ ์์ผ๋ฉฐ, ์ ๋ ฅ/์ถ๋ ฅ์ด ๋ฆฌํฉํ ๋ง๊ณผ ๋ ๋ฆฝ์ ์ผ๋ก(๊ทธ๋ฆฌ๊ณ ๋ณ๋๋ก) ์ ์ง๋๋ ๊ณ ์ ๋ ์์น๋ฅผ ์ํฉ๋๋ค.
์ด ๋ฌธ์ ๋ GOPATH์ ๊ฐ๋ฅํ ๊ธฐ๋ณธ๊ฐ์ ๊ดํ ๊ฒ์ ๋๋ค. GOPATH์ ๋์ฒด ์ฌ์ฉ์ ๋ํ ๊ฒ์ _์๋๋๋ค_.
์ด ๋ณ๊ฒฝ์ ๋์ ์ฌ์ฉ์๊ฐ ๋ฐฉ๊ธ ๋ณ๊ฒฝํ๋ ค๋ ์ฌ์ฉ์์ธ ๊ฒฝ์ฐ
Go๋ก ์์ฑ๋ ์ ํ๋ก๊ทธ๋จ์ ์ค์นํ๊ณ ์ค์ ๋ก ์ค์นํ๋ ค๋ ํ๋ก๊ทธ๋จ์ด ์๋
Go๋ฅผ ์์ฑํ๊ณ ๋ค์์ ์ฌ์ฉ์๋ณ ๋๋ ํ ๋ฆฌ์์ go get ๋ณต์ ๋ฅผ ์ํํ๋๋ก ํ๋ ๊ฒ์ ์ด๋ป์ต๋๊น?
$TMPDIR์ด๊ณ $GOPATH๊ฐ ์ค์ ๋์ง ์์ ๊ฒฝ์ฐ ๋ฐ์ด๋๋ฆฌ๋ฅผ $PWD์ ๋์๊ฒ ์ต๋๊น? (ํ์คํ
์ด๊ฒ์ go get import.path/for/a/command์ ๋ํด์๋ง ์๋ฏธ๊ฐ ์์ต๋๋ค. ๊ทธ๋ ์ง ์์ ๊ฒฝ์ฐ
๋ช
๋ น, $GOPATH๊ฐ ์ค์ ๋์ง ์์ผ๋ฉด go get์ด ์คํจํด์ผ ํจ)
์ธ๋ถ์ธ์๊ฒ๋ wget ํ์ผ๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก ๋งค์ฐ ์๋ฏธ๊ฐ ์์ต๋๋ค.
์ฌ์ฉ์๊ฐ Go ์ฝ๋ ์์ฑ์ ์์ํ๋ ค๋ฉด ์ค์ ๋ฐฉ๋ฒ์ ๋ฐฐ์์ผ ํฉ๋๋ค.
์ ๋๋ก GOPATH.
๋๋๋ก ๋ฃจํธ ๊ถํ์ด ์๊ณ ํ ๋๋ ํ ๋ฆฌ ์๋์ Go๋ฅผ ์ค์นํด์ผ ํ๊ธฐ ๋๋ฌธ์ ์ ๋ $HOME/go์ ๋ฐ๋ํฉ๋๋ค. ๊ทธ๋ฐ ๊ฒฝ์ฐ์๋ $HOME/go๊ฐ GOROOT์ ๊ฐ์ฅ ์ ํฉํ ๊ฒ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค.
Linux ์์คํ ์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ $HOME/.local์ ๋ชฉ์ ์ ํด์ํ๋ ๋ฐฉ๋ฒ์ ๋ฐ๋ผ $GOROOT์ ๊ฐ์ฅ ์ข์ ์์น๋ $HOME/go๊ฐ ์๋๋ผ $HOME/.local/opt/go์ผ ์ ์์ต๋๋ค. , $HOME/.local/share(/usr/local/share ๋ฏธ๋ฌ๋ก ํ์๋จ)๋ง XDG ๊ธฐ๋ณธ ๋๋ ํ ๋ฆฌ ์ฌ์( https://standards.freedesktop.org/basedir-spec/basedir-spec-latest )์ ์ ์๋์ด
GOPATH / GOBIN(Linux์์)์ ๋ํ ์ต์์ ๊ธฐ๋ณธ๊ฐ์ ๋ค์๊ณผ ๊ฐ์์ผ ํ๋ค๊ณ ์ฃผ์ฅํ ์๋ ์์ต๋๋ค.
GOPATH=$XDG_DATA_HOME/go ๋๋ $HOME/.local/share/go
๊ณ ๋น=$HOME/.local/bin
๊ทธ๋ฌ๋ ๊ทธ๊ฒ์ ์๋ง๋ ์๋ก์ด ์ฌ์ฉ์์๊ฒ ๊ฐ์ฅ ์ดํดํ๊ธฐ ์ฝ์ง ์์ ๊ฒ์ ๋๋ค. ๋ํ Windows์์ ๊ฐ์ฅ ์ข์ ์ ๊ทผ ๋ฐฉ์์ด ๋ฌด์์ธ์ง๋ ๋ถ๋ถ๋ช ํฉ๋๋ค. $HOME/go ๋ฐ $USERPROFILE/go๋ ์ค์ฉ์ ์ผ๋ก ๋ณด์ ๋๋ค.
์ ๋ฐ, _์ ๋ฐ_ ์ด ์ค๋ ๋๊ฐ ์ ์ Linux ๊ฒฝ๋ก ์ด๋ฆ๊ณผ ์ ์ฅ ์์น์ ๋ํ ๋ ผ์๋ก ๋ฐ๋์ง ์๋๋ก ํฉ์๋ค. ๊ทธ๊ฒ์ ์์ฐ์ ์ด์ง ์์ผ๋ฉฐ, ์ด ๋ ผ์๊ฐ ์ด๋ฏธ Dave Cheney์ ์๋ ๊ฒ์๋ฌผ์์ ์๋นํ ๋ฒ์ด๋ฌ๋ค๊ณ ์๊ฐํฉ๋๋ค.
๋ํ ์ค์ ์ ๋ ์์น๊ฐ ๊ทธ๋ ๊ฒ ์ค์ํ์ง ์ ๋ชจ๋ฅด๊ฒ ์ต๋๋ค. ์ด ์ค๋ ๋์์ ์ ๋ง๋ก ๊ฒฐ์ ํด์ผ ํ๋ ๊ฒ์ "๊ธฐ๋ณธ Gopath๋ฅผ ์ํฉ๋๊น?"์
๋๋ค. (์ด๋ ์ ๋ ์๋์ ์ธ ์์ธ ๊ฒ์ฒ๋ผ ๋ค๋ฆฝ๋๋ค.) ๊ทธ๋ฆฌ๊ณ "์์คํ
์ ์ฒด์์ ๊ณต์ ๋์ด์ผ ํ๋์ง ์๋๋ฉด ์ฌ์ฉ์์๊ฒ ๋ก์ปฌ๋ก ๊ณต์ ๋์ด์ผ ํ๋์ง"(์ง๊ธ๊น์ง ๋๋ถ๋ถ์ ๋
ผ์๋ ๋ก์ปฌ์ ๊ดํ ๊ฒ์ด์์ต๋๋ค). ๊ทธ ํ์ ๊ตฌํํ๋ ์ฌ๋์ $HOME/gocode
๋๋ $HOME/go
๋๋ /usr/share/go/
๋๋ PR์ ๊ฒํ ํ๋ ์ฌ๋์๊ฒ ํฉ๋ฆฌ์ ์ผ๋ก ๋ณด์ด๋ ์ํ๋ ๊ฒ์ ์ ํํ ์ ์์ผ๋ฉฐ ์ํฉ์ ๊ณ์ํด์ ๊ฝค ๊ด์ฐฎ์ ๊ฒ์
๋๋ค.
์์คํ ์ ์ฒด์ GOPATH๋ ๊ถํ ๋ฌธ์ ๋ก ์ธํด ๋น์คํํฐ๋ผ๊ณ ์๊ฐํฉ๋๋ค.
์์คํ
์ ์ฒด ๊ฒฝ๋ก๋ ์ข๋ ๋์๋ GOROOT์
๋๋ค.
๋ฐ๋น์์ด "์์คํ
์ ์ฒด" ํจํค์ง๋ฅผ ์ค์นํ๋ ๋ฐ ์ฌ์ฉํ๋ ๊ฒ์ฒ๋ผ
๋ ๋์.
์์คํ
์ ์ฒด์ GOPATH๋ ์ด ์ ์์ ๋ฒ์๋ฅผ ๋ฒ์ด๋ฉ๋๋ค.
๋ก๊ทธ์ธํ ์ฌ์ฉ์์ ๊ฐ์์ ํ์๋ ๊ฒฝ๋ก๋ฅผ ๊ถ์ฅํฉ๋๋ค.
2016๋ 10์ 4์ผ ํ์์ผ 08:52 Andrew Gerrand [email protected]์ด ๋ค์๊ณผ ๊ฐ์ด ์ผ์ต๋๋ค.
์์คํ ์ ์ฒด์ GOPATH๋ ๊ถํ ๋ฌธ์ ๋ก ์ธํด ๋น์คํํฐ๋ผ๊ณ ์๊ฐํฉ๋๋ค.
โ
๋น์ ์ด ์ธ๊ธ๋์๊ธฐ ๋๋ฌธ์ ์ด๊ฒ์ ๋ฐ๋ ๊ฒ์ ๋๋ค.
์ด ์ด๋ฉ์ผ์ ์ง์ ๋ต์ฅํ๊ณ GitHub์์ ํ์ธ
https://github.com/golang/go/issues/17262#issuecomment -251238251 ๋๋ ์์๊ฑฐ
์ค๋ ๋
https://github.com/notifications/unsubscribe-auth/AAAcA2kwyq0Iuidk0ygsGzqVKGLkKBR9ks5qwXkDgaJpZM4KI0I2
.
์ ๋ฐ, ์ด ์ค๋ ๋๊ฐ ์ ์ Linux ๊ฒฝ๋ก ์ด๋ฆ๊ณผ ์ ์ฅ ์์น์ ๋ํ ๋ ผ์๋ก ๋ฐ๋์ง ์๋๋ก ํ์ญ์์ค. ์์ฐ์ ์ด์ง ์๋ค
์ข์, ํ์ง ๋ง์. ๋ด ์์ ์ $HOME/go๊ฐ GOPATH ๊ธฐ๋ณธ๊ฐ์ผ๋ก ๋ฌธ์ ๊ฐ ๋์ง ์์ ์ ์๋ค๋ ๋ ๋ค๋ฅธ ์ด์ ๋ฅผ ์ง์ ํ๋ ๊ฒ์ ๋๋ค. ์๋ํ๋ฉด ์ด๊ฒ์ด Go(GOROOT๋ผ๊ณ ๋ ํจ)์ ๋ก์ปฌ ์ฌ์ฉ์ ์ค์น๋ฅผ ์ํ ๊ฐ์ฅ "๊ด์ฉ์ ์ธ Linux" ๊ฒฝ๋ก๊ฐ ์๋ ์ ์๊ธฐ ๋๋ฌธ์ ๋๋ค.
๊ทธ ์ธ์๋ ๊ธฐ๋ณธ GOPATH์ XDG_CACHE_HOME์ ์ฌ์ฉํ๋ ๊ฒ์ ๋ํด ๋ ผ์ํ ์ ์ด ์๋ค๊ณ ์๊ฐํฉ๋๋ค. ์ด๊ฒ์ด ์ ๊ฐ XDG_DATA_HOME์ ์ธ๊ธํ ์ด์ ์ ๋๋ค. ๋งํฌ๋ ๋ฌธ์์ ์์ฑ์๊ฐ ์ด๋ค ์ญํ ์ ํ๋์ง ๋๋ ๊ทธ๊ฒ์ด ์ผ๋ง๋ "๊ณต์์ ์ธ" ์ญํ ์ ํ๋์ง๋ ๋ชจ๋ฅด์ง๋ง .
$์ง/์ง์ฅ.......
@adg @quentinmit @rsc ์ด ์ ์์ ๋ค์ ๋จ๊ณ๋ ๋ฌด์์ ๋๊น?
์ด๊ณณ์์ ์ด๋ค ์ผ์ด ์ผ์ด๋๋์ง ์ ๋ง ๋ณด๊ณ ์ถ์ต๋๋ค. ์ ์์ ์์ ์์ฃผ ๋ฐ์ํ๋ ๋ฌธ์ ์ ๋๋ค. ์ด๋ค ๊ธฐ๋ณธ๊ฐ(์ฌ์ง์ด ๋ด๊ฐ ๋์ํ์ง ์๋ $home/go๋ผ๋ :))์ด ์๋ ๊ฒ๋ณด๋ค ๋ซ์ต๋๋ค.
$HOME/go ๋ฉ๋๋ค. ๋จ ํ๋์ ์ต์ ์ ๋ต์ ์์ง๋ง ์ด๊ฒ์ ์งง๊ณ ๋ฌ์ฝคํ๋ฉฐ $HOME/go๊ฐ ์ด๋ฏธ ์กด์ฌํ๋ ๊ฒฝ์ฐ ํด๋น ์ด๋ฆ์ ์ ํํ๋ ๊ฒ์ด ๋ฌธ์ ์ผ ์ ์์ต๋๋ค. ์ด๋ ์ด๋ฏธ go๋ฅผ ์ค์นํ๊ณ GOPATH๋ฅผ ์ดํดํ ์ ๋ฌธ๊ฐ์๊ฒ๋ง ๋ง์กฑํ ๊ฒ์ ๋๋ค.
๋๊ฐ ๊ทธ ์ผ์ ํ๊ณ ์ถ์ต๋๊น?
์ด ์์ ์ ํ๊ฒ ๋์ด ๋งค์ฐ ๊ธฐ์ฉ๋๋ค.
@campoy , ํ ์ ์์ด์ <= ์ด๋ฒ ๊ธ์์ผ?
์ ๋ ๊ทธ๋ ๊ฒ ๋งํ๊ณ ์ถ์ต๋๋ค. ์ @bradfitz . ๋ง์ ์์ ์ฝ๋๋ฅผ ์ํํด์ผ ํ ๊ฒ ๊ฐ์ง๋ ์์ต๋๋ค.
๋ด์ผ ์์ํ ์ ์์ด์.
์ ๋ฐ์ดํธ: ๋๋ ์ด๊ฒ์ ๊ฐ๋จํ ์ดํด๋ณด๊ณ ์ด๋ฏธ ๋ช ๊ฐ์ง ์ฝ๋๋ฅผ ์์ฑํ์ผ๋ฉฐ ๋ช ๊ฐ์ง ํ ์คํธ๋ฅผ ์ถ๊ฐํ๊ณ ์ค๋ ๋์ค์ ๋ณ๊ฒฝ ์ฌํญ์ ๋ณด๋ผ ๊ฒ์ ๋๋ค.
๋ฉ์ง๋ค ์๋ค์! ๐
@ropike #
๋ค์๊ณผ ๊ฐ์ ์ด์ ๋ก Go ์ค์น ๋๋ ํ ๋ฆฌ์ ์์
๊ณต๊ฐ ๋๋ ํ ๋ฆฌ์ ์ด๋ฆ์ ๋์ผํ๊ฒ ํ๋ ๊ฒ์ ์ข์ ์๊ฐ์ด ์๋๋๋ค. ์: go
:
1) ์ฌ์ฉ์๊ฐ ํ ๋๋ ํ ๋ฆฌ์์ tar -xzf go$VERSION.$OS-$ARCH.tar.gz
๋ฅผ ์ํํ๋ฉด ์์งํ ์ฌ์ฉ์๊ฐ ์์
๊ณต๊ฐ์ ์์/์ค์ผ์ํค๊ธฐ๊ฐ ๋งค์ฐ ์ฝ์ต๋๋ค.
2) /usr/local
์ ์ค์นํ์ง ์์ ๋(๋ฃจํธ๋ก ์ค์นํ๊ณ ์ถ์ง ์์) ์ ์ฌ์ฉ์์ ๊ธฐ๋ณธ ํ๊ฒฝ์ ๋ค์๊ณผ ๊ฐ์ ํ๋ฆ์ด๋ฏ๋ก ์ํํ์ง ์์ต๋๋ค.
go$VERSION.$OS-$ARCH.tar.gz ๋ค์ด๋ก๋
tar -xzf go$VERSION.$OS-$ARCH.tar.gz
--> $HOME/go์ ์ค์น
export GOROOT=$HOME/go
export PATH=$PATH:$GOROOT/bin
go get something
--> ๋์ง cannot download, $GOPATH must not be set to $GOROOT. For more details see: go help gopath
@krishnasrinivas GOROOT=$HOME/go
์ด๋ฉด GOROOT
์ GOPATH
๊ฐ ๊ฐ์ ์ ์๊ธฐ ๋๋ฌธ์ ์ด ๊ธฐ๋ณธ๊ฐ์ด ๋ฐ์ํ์ง ์๊ฑฐ๋ go
์ค๋ฅ๊ฐ ๋ฐ์ํ๋ค๋ ๊ฒ์ ์ดํดํฉ๋๋ค. ์ด๋ฌํ ๊ฒฝ์ฐ์ ์์ ๋งํ๋ฏ์ด ์ฌ์ฉ์๋ ์์ ๋ง์ GOPATH
๋ฅผ ์ค์ ํ ์ ์์ ๊ฒ์ผ๋ก ์์๋ฉ๋๋ค.
@mvdan ๋ง์ต๋๋ค. ์ค์น๋ฅผ ์ํด ๋ฃจํธ ๊ถํ์ ์ฌ์ฉํ๊ณ ์ถ์ง ์์(๋ฐ๋ผ์ ~/go์ Go๋ฅผ ์ค์นํ ๊ฐ๋ฅ์ฑ์ด ๋์) ์ ์ฌ์ฉ์๋ฅผ ์ํด ๋ช ์์ ์ผ๋ก ํด์ผ ํ๋ฏ๋ก ์์ ์ ์์ํ๊ณ ์คํํ๋ ๊ฒ์ ๋ ์ฝ๊ฒ ๋ง๋ค์ง ์์ต๋๋ค. GOPATH๋ฅผ ๋ค๋ฅธ ๊ฒ์ผ๋ก ์ค์ ํ์ญ์์ค. ๊ธฐ๋ณธ GOPATH๊ฐ ~/gopath ๋๋ ~/gocode์ธ ๊ฒฝ์ฐ ์ฝ๊ฒ ์์ ํ ์ ์์ต๋๋ค.
๋ฃจํธ๊ฐ ์๋ ์ค์น์ ๊ฒฝ์ฐ ์ ์ฌ์ฉ์๊ฐ ๊ธฐ๋ณธ GOPATH=~/go๋ฅผ ์ฌ์ฉํด์ผ ํ๋ ๊ฒฝ์ฐ ์ฌ์ฉ์์๊ฒ tar -C
์ต์
์ ์ฌ์ฉํ์ฌ ์ค์นํ์ง ์๋๋ก ๋ช
์์ ์ผ๋ก ์์ฒญํ์ฌ ์ค์น ๋ฌธ์๋ฅผ ์ฝ๊ฐ ๋ ๋ณต์กํ๊ฒ ๋ง๋ค์ด์ผ ํฉ๋๋ค. ~/go
@rasky ์ ๋ #
@krishnasrinivas์ ๋์ํฉ๋๋ค. ์ ๋ ๋ฃจํธ ๊ถํ์ด ์์๊ธฐ ๋๋ฌธ์ ๊ทธ๋ฅ $HOME/go๋ก ์ด๋ํ์ต๋๋ค. ๋ด $GOPATH=$HOME/gowork๋ ์ค์ ํ์ต๋๋ค.
@krishnasrinivas @joegrasse ์๋ฒฝํ ์๋ฃจ์
์ ์์ต๋๋ค. GOPATH
์ง์ ์ค์ ํ๋ ๊ฒ์ ์ฝ๊ณ ๋๋ถ๋ถ์ ์ฌ๋๋ค์ด ๊ทธ๋ ๊ฒ ํ ๊ฒ์ผ๋ก ์์ํฉ๋๋ค. ์ฌ๊ธฐ์ ๋ฌธ์ ๋ ๋ฐ๋์ ์ฒ์ ์ ํ๋ ์ฌ๋๋ค์ ์ํด ์ฐ๋ฆฌ๊ฐ ๋ฌด์์ ํด์ผ ํ๋๊ฐ ํ๋ ๊ฒ์
๋๋ค. ์ด๋ค์ ์ผ๋ฐ์ ์ผ๋ก ์ฌ์ฉ์ ์ง์ ์์น์ ์์ ์ Go ๋ฐฐํฌํ์ ์ค์นํ๋ ์ฌ๋๋ค์ด ์๋๋๋ค. ์ฌ์ฉ์ ์ง์ ์์น์ Go๋ฅผ ์ค์นํ๋ ๋ฐฉ๋ฒ์ ์ ์ ์๋ ์ฌ๋์ GOPATH
์ค์ ๋ฐฉ๋ฒ์ ์ ์ ์์ต๋๋ค.
์ฌ์ ์ค์น๋ Go ๋ฐฐํฌํ์ ์ฌ์ฉํ๋ ์๋ก์ด ํ๋ก๊ทธ๋๋จธ ํด๋์ค ๋์ ์๊ฐํ์ญ์์ค. ์ฐ๋ฆฌ๋ ๊ทธ๋ค์ด Go ์ฝ๋ ์์ฑ์ ์์ํ ์ ์๊ธฐ๋ฅผ ๋ฐ๋๋๋ค. ์ฐ๋ฆฌ๋ ์ฒซ ๋ฒ์งธ ๋จ๊ณ๊ฐ "์ด๊ฒ์ด ํ๊ฒฝ ๋ณ์์
๋๋ค. ์ด๊ฒ์ด ํ๊ฒฝ ๋ณ์๋ฅผ ์ค์ ํ๋ ๋ฐฉ๋ฒ์
๋๋ค. ์ด์ GOPATH
๋ฅผ ์ด๊ฒ์ผ๋ก ์ค์ ํ์ญ์์ค."๊ฐ ๋๋ ๊ฒ์ ์ํ์ง ์์ต๋๋ค. ์ด๋ฌํ ๋จ๊ณ๋ Go์ ๊ด๋ จ์ด ์์ต๋๋ค.
๋ค์ ๋งํ์ง๋ง ์๋ฒฝํ ์๋ฃจ์ ์ ์์ง๋ง ๋ฌด์ธ๊ฐ๋ฅผ ์ ํํ๋ ๊ฒ์ด ํ๋ช ํด ๋ณด์ ๋๋ค.
@ianlancetaylor ๋๋ ๋ฌด์ธ๊ฐ๋ฅผ ์ ํํด์ผํ๋ค๋ ๋ฐ ์์ ํ ๋์ํฉ๋๋ค. ๋๋ ๋จ์ง $HOME/go๋ฅผ ๊ธฐ๋ณธ์ผ๋ก ํ๋ ./go๋ก ๊ฐ๋ ๊ฒ์ด ์ต์ ์ ์ ํ์ด ์๋ ์ ์๋ค๊ณ ๋ฏฟ์ต๋๋ค.
@ianlancetaylor GOPATH=$HOME/gopath๋ ์์ ์ธ๊ธํ ์ด์ ๋ก ์ธํด GOPATH=$HOME/go๋ณด๋ค ๋ ๋์ ๊ธฐ๋ณธ๊ฐ์ ๋๋ค.
ํ์ฌ ์ด๋ฆ์ด ๋ฌธ์ ๋ผ๊ณ ์๊ฐํ์ง ์์ต๋๋ค. homedir ์๋์ ์ฌ์ฉ์ ์ง์ go/bin ์์น์ ๋ํด PATH๋ฅผ ์ค์ ํ๋ ๋ฐฉ๋ฒ์ ์๊ณ ์๋ค๋ฉด GOPATH๋ฅผ ์ค์ ํ๋ ๋ฐฉ๋ฒ์ ์๊ณ ์์ ๊ฒ์ ๋๋ค.
@joegrasse @krishnasrinivas " ์ฌ์ฉ์ ์ง์ ์์น์ ์ค์น "๋ฅผ ์ดํด๋ณด์ญ์์ค.
/usr/local/go
์ด์ธ์ ๋ค๋ฅธ ๊ณณ์ผ๋ก ์์ถ์ ํ๊ณ ์๋ค๋ฉด -- ๊ถํ ๋ฑ์ ์ด์ ๋ก -- GOROOT๋ ์ค์ ํ๊ฑฐ๋ ์์ค์์ ์ปดํ์ผํด์ผ ํฉ๋๋ค.
์ด ๊ฒฝ์ฐ ์ ์๋ $HOME/go๋ณด๋ค $HOME/gopath ๋ฑ์ ์ฌ์ฉํด๋ ์๋ฌด๋ฐ ์ด์ ์ด ์์ต๋๋ค.
์ ์ฌ์ฉ์๋ tar.gz์์ ์ค์นํ๋ ๊ฒ์ ์ ํธํ๋ค๊ณ ๊ฐ์ ํฉ๋๋ค. ๋๋ ์๋์ค๋ฅผ ์ธ์ฉ ํ ์ ์์ต๋๋ค
์ซ์์ด์ง๋ง ๋๋ต์ Linux ์ค์น๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ๋ค๊ณ ์๊ฐํฉ๋๋ค.
go์์ ์ธ ๋ฒ์งธ๋ก ์ธ๊ธฐ ์๋ ์ค์น ๋์์
๋๋ค.
2016๋
10์ 25์ผ ํ์์ผ 20:28 Krishna Srinivas [email protected]
์ผ๋ค:
@mvdan https://github.com/mvdan ์ ํํจ, ์ํ์ง ์๋ ์ฌ์ฉ์๋ฅผ ์ํด
์ค์น๋ฅผ ์ํด ๋ฃจํธ ๊ถํ์ ์ฌ์ฉํ์ญ์์ค(๋ฐ๋ผ์ ์ค์น ๊ฐ๋ฅ์ฑ์ด ๋์).
Go in ~/go) ์ฐ๋ฆฌ๋ ๋ค์๊ณผ ๊ฐ์ด ์ผ์ ์์ํ๊ณ ์คํํ๋ ๊ฒ์ ๋ ์ฝ๊ฒ ๋ง๋ค์ง ์์ต๋๋ค.
๊ทธ๋ค์ ๋ช ์์ ์ผ๋ก GOPATH๋ฅผ ๋ค๋ฅธ ๊ฒ์ผ๋ก ์ค์ ํด์ผ ํฉ๋๋ค. ์ด๊ฒ์ ๋ ์์๋ค
GOPATH๊ฐ ~/gopath ๋๋ ~/gocode์ด๋ฉด ์ฝ๊ฒ ์์ ๋ฉ๋๋ค.๋ฃจํธ๊ฐ ์๋ ์ค์น์ ๊ฒฝ์ฐ ์ ์ฌ์ฉ์๊ฐ ๊ธฐ๋ณธ๊ฐ์ ์ฌ์ฉํด์ผ ํ๋ ๊ฒฝ์ฐ
GOPATH=~/go ๊ทธ๋ฌ๋ฉด ๋ฌธ์๊ฐ ์ฝ๊ฐ ๋ ๋ณต์กํด์ง๋๋ค.
์ฌ์ฉ์์๊ฒ ๋ค์ ์์น์ ์ค์นํ์ง ์๋๋ก tar -C ์ต์ ์ ์ฌ์ฉํ๋๋ก ๋ช ์์ ์ผ๋ก ์์ฒญํจ์ผ๋ก์จ
~/๊ฐ๋คโ
๋น์ ์ด ์ธ๊ธ๋์๊ธฐ ๋๋ฌธ์ ์ด๊ฒ์ ๋ฐ๋ ๊ฒ์ ๋๋ค.
์ด ์ด๋ฉ์ผ์ ์ง์ ๋ต์ฅํ๊ณ GitHub์์ ํ์ธ
https://github.com/golang/go/issues/17262#issuecomment -255984498 ๋๋ ์์๊ฑฐ
์ค๋ ๋
https://github.com/notifications/unsubscribe-auth/AAAcAxqiBgwlXv4fk8CPk0gsd5h81yYmks5q3cvBgaJpZM4KI0I2
.
๋ฌธ์๋ ๋ชจ๋ ์ ๋ฐ์ดํธํด์ผ ํฉ๋๋ค. ๊ทธ๊ฒ์ด ์๋ง๋ ์์ ์ ๋๋ถ๋ถ์ผ ๊ฒ์ ๋๋ค.
2016๋
10์ 25์ผ 10:14 Francesc Campoy ์๋ฆผ @github.com
์ผ๋ค:
๋ค, ๊ทธ๋ ์ต๋๋ค. ๋ง์ ์์ ์ฝ๋๋ฅผ ์ํํด์ผ ํ ๊ฒ ๊ฐ์ง๋ ์์ต๋๋ค.
๋ด์ผ ์์ํ ์ ์์ด์.โ
๋น์ ์ด ์ธ๊ธ๋์๊ธฐ ๋๋ฌธ์ ์ด๊ฒ์ ๋ฐ๋ ๊ฒ์ ๋๋ค.
์ด ์ด๋ฉ์ผ์ ์ง์ ๋ต์ฅํ๊ณ GitHub์์ ํ์ธ
https://github.com/golang/go/issues/17262#issuecomment -255892314 ๋๋ ์์๊ฑฐ
์ค๋ ๋
https://github.com/notifications/unsubscribe-auth/AIDilZGt_8O1bMsOu5Q-m1_tGDjxKQLkks5q3TvfgaJpZM4KI0I2
.
๋ค, ๊ทธ๋ ์ต๋๋ค. ๋ง์ ์์ ์ฝ๋๋ฅผ ์ํํด์ผ ํ ๊ฒ ๊ฐ์ง๋ ์์ต๋๋ค.
๋ด์ผ ์์ํ ์ ์์ด์.
2016๋
10์ 24์ผ ์์์ผ ์คํ 4:05 Brad Fitzpatrick [email protected]
์ผ๋ค:
@campoy https://github.com/campoy , ์ด๋ฒ ์ฃผ ๊ธ์์ผ <= ์ ์ ํ ์ ์์ต๋๊น?
โ
๋น์ ์ด ์ธ๊ธ๋์๊ธฐ ๋๋ฌธ์ ์ด๊ฒ์ ๋ฐ๋ ๊ฒ์ ๋๋ค.
์ด ์ด๋ฉ์ผ์ ์ง์ ๋ต์ฅํ๊ณ GitHub์์ ํ์ธ
https://github.com/golang/go/issues/17262#issuecomment -255890668 ๋๋ ์์๊ฑฐ
์ค๋ ๋
https://github.com/notifications/unsubscribe-auth/ACIkDKayusiOZWeOn6LrA49tlUsujwthks5q3TmqgaJpZM4KI0I2
.
ํ์ํ ๊ฒฝ์ฐ ๋ฌธ์๋ฅผ ๋์๋๋ฆด ์ ์์ต๋๋ค. ์ ์ผํ ๋ฌธ์ ๋ ํ์ฌ ์๋ฃ๊ฐ ๊ธฐ์ค์ ์ผ๋ก GOPATH์๋ง ์์กดํ๋ค๋ ๊ฒ์ ๋๋ค. ์๋ฅผ ๋ค์ด,
"๋๋ PATH
์ $GOPATH/bin
๋ฅผ ์ถ๊ฐํ์ผ๋ฏ๋ก ๋ฐ์ด๋๋ฆฌ ์ด๋ฆ์ ์
๋ ฅํ์ธ์."
๋๋
"GOPATH ์๋์ ํจํค์ง ์์ฑ, mkdir -p $GOPATH/src/github.com/user/hello"
GOPATH์ ์ฐธ์ฌํ๊ณ ๊ทธ๊ฒ์ด ๋ฌด์์ธ์ง ๋ฐฐ์ฐ์ง ์๊ณ ๋ Go์์ ํ์ฌ ํจํค์ง๋ฅผ ๊ฐ์ ธ์ค๋ ๊ฒ ์ธ์ ๋ค๋ฅธ ์์
์ ์ํํ๋ ๊ฒ์ด ๊ฑฐ์ ๋ถ๊ฐ๋ฅํฉ๋๋ค. go env
๋ฅผ ํตํด ๊ธฐ๋ณธ ๊ฒฝ๋ก๋ฅผ ๋ณด๊ณ ํ ์ ์๋ค๋ฉด ๋ฌธ์์์ ์ฝ๊ฒ ์ฐธ์กฐํ ์ ์์ต๋๋ค.
๋์ $HOME/go/...๋ฅผ ๋์ฒดํ ์ ์์ต๋๊น(๋๋ Windows์์ ์ด์ ์์ํ๋ ํญ๋ชฉ)?
$HOME/go/bin
๋ฅผ PATH์ ์ถ๊ฐํ์ผ๋ฏ๋ก(๋๋ GOPATH๊ฐ ์ค์ ๋ ๊ฒฝ์ฐ$GOPATH/bin
)...
์๋ง๋ ๋ฌธ์์์๋ ๊ฐ์ธ์ด PATH ํ๊ฒฝ ๋ณ์๋ฅผ ์ค์ ํ ๋ฟ๋ง ์๋๋ผ GOPATH๋ฅผ $HOME/go๋ก ์ค์ ํด์ผ ํ๋ค๊ณ ์์ํ ์ ์์ต๋๋ค. ์ค๋ณต๋์ง๋ง ๋์ค์ GOPATH์ ๋ํ ์ฐธ์กฐ๋ฅผ ์ํด ์ฌ์ฉ์๋ฅผ ์ค๋นํฉ๋๋ค.
์ด๊ธฐ ๋ฌธ์๋ ๊ธฐ๋ณธ๊ฐ์ ๊ฐ์ ํ๊ณ ํ๊ฒฝ ๋ณ์๋ฅผ ์ ํ ์ธ๊ธํ์ง ์์ ์ ์์ต๋๋ค.
์ ์ฌ์ฉ์๋ tar.gz์์ ์ค์นํ๋ ๊ฒ์ ์ ํธํ๋ค๊ณ ๊ฐ์ ํฉ๋๋ค. ๋๋ ์๋์ค๋ฅผ ์ธ์ฉ ํ ์ ์์ต๋๋ค
์ซ์์ด์ง๋ง ๋๋ต์ Linux ์ค์น๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ๋ค๊ณ ์๊ฐํฉ๋๋ค.
go์์ ์ธ ๋ฒ์งธ๋ก ์ธ๊ธฐ ์๋ ์ค์น ๋์์ ๋๋ค.
๋ด ์๊ฒฌ์ Linux ์ค์น์ ํธํฅ๋์ด ์์ต๋๋ค. /usr/local์ go๋ฅผ ์ค์นํ๋ ์ ์ฌ์ฉ์์ ๊ฒฝ์ฐ ~/go๊ฐ ~/gopath๋ณด๋ค ์ธ์ํ๊ธฐ ์ฌ์ด ๋๋ ํ ๋ฆฌ ์ด๋ฆ์ผ ์ ์์์ ์ ์ ์์ต๋๋ค.
์ด๊ธฐ ๋ฌธ์๋ ๊ธฐ๋ณธ๊ฐ์ ๊ฐ์ ํ๊ณ ์ธ๊ธํ์ง ์์ ์ ์์ต๋๋ค.
์ ํ ํ๊ฒฝ ๋ณ์?
์, GOPATH ์ค์ ์ ๋ํ ๋ชจ๋ ํผ๋์ค๋ฌ์ด ํ ๋ก ์ด ์ด๋๋๊ธฐ๋ฅผ ๋ฐ๋๋๋ค.
์ค์น ๋ฌธ์์ ๋ถ๋ก์, ์ฐ๋ฆฌ๊ฐ GOROOT์ ์ํด ํ๋ ๊ฒ์ฒ๋ผ์.
ํ์ฌ.
2016๋ 10์ 26์ผ ์์์ผ 06:01 Nathan Youngman [email protected]์์ ๋ค์๊ณผ ๊ฐ์ด ์ผ์ต๋๋ค.
์๋ง๋ $HOME/go/...๊ฐ ๋์ ๋์ฒด๋ ์ ์์ต๋๋ค(๋๋
์๋์ฐ)?$HOME/go/bin์ PATH์ ์ถ๊ฐํ๊ธฐ ๋๋ฌธ์(๋๋ GOPATH๊ฐ ๋ค์๊ณผ ๊ฐ์ ๊ฒฝ์ฐ $GOPATH/bin
์ธํธ)...์๋ง๋ ์ด๋ ์์ ์์ ๋ฌธ์๋ ๊ฐ์ธ์ด
PATH ํ๊ฒฝ ๋ณ์๋ง ์ค์ ํ๊ณ GOPATH๋ $HOME/go๋ก ์ค์ ํฉ๋๋ค.
์ค๋ณต๋์ง๋ง ์ดํ ๋ฌธ์๋ฅผ ๋ช ํํ๊ฒ ๋ง๋ญ๋๋ค.์ด๊ธฐ ๋ฌธ์๋ ํ๊ฒฝ์ ์ธ๊ธํ์ง ์๊ณ ๊ธฐ๋ณธ๊ฐ์ ๊ฐ์ ํ ์ ์์ต๋๋ค.
์ ํ ๋ณ์?โ
๋น์ ์ด ์ธ๊ธ๋์๊ธฐ ๋๋ฌธ์ ์ด๊ฒ์ ๋ฐ๋ ๊ฒ์ ๋๋ค.
์ด ์ด๋ฉ์ผ์ ์ง์ ๋ต์ฅํ๊ณ GitHub์์ ํ์ธ
https://github.com/golang/go/issues/17262#issuecomment -256142424 ๋๋ ์์๊ฑฐ
์ค๋ ๋
https://github.com/notifications/unsubscribe-auth/AAAcAwUgsP6A9CzCzmeeQG1nGXBGLyvQks5q3lHzgaJpZM4KI0I2
.
์ด๊ธฐ ๋ฌธ์๋ ๊ธฐ๋ณธ๊ฐ์ ๊ฐ์ ํ๊ณ ํ๊ฒฝ ๋ณ์๋ฅผ ์ ํ ์ธ๊ธํ์ง ์์ ์ ์์ต๋๋ค.
SGTM
Go ์ฌ์ฉ์์๋ ๋ ๊ฐ์ง ์ ํ์ด ์์ต๋๋ค.
๊ธฐ๋ณธ GOPATH๋ ์ฒซ ๋ฒ์งธ ๊ทธ๋ฃน์ ๋์๋ฌธ์๋ฅผ ์์ ํฉ๋๋ค. ๊ฐ๋ฐ์์ฉ ๋ฌธ์์ ๋ํด GOPATH ๊ด๋ จ ์ง์นจ์ ๊ณ์ ์ ์งํ ์ ์์ต๋๋ค. ์ค์น ์ ๋ ์ด์ GOPATH ์ค์ ์ ์ธ๊ธํ ํ์๊ฐ ์์ต๋๋ค. ๊ทธ๋ ์ง ์์ผ๋ฉด @davecheney๊ฐ ์ธ๊ธํ ๊ฒ์ฒ๋ผ ๋ถ๋ก์ด ์์ ์ ์์ต๋๋ค.
Go ๋๋ฌธ์ ~/bin/go์ ์ด๋ฆ์ ๋ฐ๊ฟ์ผ ํ๋ ์ฌ๋์ผ๋ก์, ๊ธฐ๋ณธ๊ฐ์ด ๋ฌด์์ด๋ ๊ฐ์ ์ด๋ฏธ ์กด์ฌํ๋ ๊ฒฝ์ฐ ์ค์ ๋ก Go์ ~/go์์ ๋ํ๋ด๊ธฐ ์ํด .dotfile์ด ์์ด์ผ ํ๋ค๊ณ ์ ์ํ๊ณ ์ถ์ต๋๋ค. ~/go๊ฐ ์กด์ฌํ์ง ์์ ๋ go๋ ๊ทธ๊ฒ์ ์์ฑํ๊ณ .dotfile์ ๋ง๋ค๊ณ ํฅํ ์คํ์์ ์ฐพ์ ์ ์์ต๋๋ค. GOPATH๋ฅผ ~/go๋ก ๋ช ์์ ์ผ๋ก ์ค์ ํ๋ฉด ๊ธฐ๋ณธ๊ฐ์ด ์ฌ์ฉ๋์ง ์์ผ๋ฏ๋ก .dotfile์ด ํ์ํ์ง ์์ต๋๋ค.
๋ํธํ์ผ์ด ์กด์ฌํฉ๋๋ค. $HOME/go ๋ด๋ถ์ src/ ๋๋ ํ ๋ฆฌ์ ๋๋ค.
2016๋ 10์ 26์ผ ์์์ผ 07:59 RalphCorderoy [email protected]์์ ๋ค์๊ณผ ๊ฐ์ด ์ผ์ต๋๋ค.
Go ๋๋ฌธ์ ~/bin/go์ ์ด๋ฆ์ ๋ฐ๊ฟ์ผ ํ๋ ์ฌ๋์ผ๋ก์, ์ ๋ ์ ์ํ๊ณ ์ถ์ต๋๋ค.
๊ธฐ๋ณธ๊ฐ์ด ๋ฌด์์ด๋ ๊ฐ์ ์ด๋ฏธ ์กด์ฌํ๋ ๊ฒฝ์ฐ
.dotfile์ด ์ค์ ๋ก Go์ ~/go์์ ๋ํ๋ ๋๋ค. ~/go๊ฐ ์กด์ฌํ์ง ์์ ๋,
go๋ ๊ทธ๊ฒ์ ๋ง๋ค๊ณ , .dotfile์ ๋ง๋ค ์ ์๊ณ , ์ดํ ์คํ์ ๊ทธ๊ฒ์ ์ฐพ์ ์ ์์ต๋๋ค. ๋ง์ฝ ๋ด๊ฐ
๋ช ์์ ์ผ๋ก GOPATH๋ฅผ ~/go๋ก ์ค์ ํ๋ฉด no .dotfile์ด ํ์ํ์ง ์์ต๋๋ค.
๊ธฐ๋ณธ๊ฐ์ ์ฌ์ฉ ์ค์ ๋๋ค.โ
๋น์ ์ด ์ธ๊ธ๋์๊ธฐ ๋๋ฌธ์ ์ด๊ฒ์ ๋ฐ๋ ๊ฒ์ ๋๋ค.
์ด ์ด๋ฉ์ผ์ ์ง์ ๋ต์ฅํ๊ณ GitHub์์ ํ์ธ
https://github.com/golang/go/issues/17262#issuecomment -256173981 ๋๋ ์์๊ฑฐ
์ค๋ ๋
https://github.com/notifications/unsubscribe-auth/AAAcA4Vud3wlDe_npYNgKcGEWty6c3oYks5q3m2ngaJpZM4KI0I2
.
CL https://golang.org/cl/32019์ ์ด ๋ฌธ์ ๊ฐ ์ธ๊ธ๋์ด ์์ต๋๋ค.
์ผ๋ถ ํ๋ก๊ทธ๋๋จธ๋ ํ๊ฒฝ ๋ณ์๋ฅผ ์ธ์ํ์ง ๋ชปํ๋๋ผ๋
์ต์ํ _๋ณ์_์ ์ต์ํด์ผ ํฉ๋๋ค. ์ฐ๋ฆฌ๊ฐ ํ์ํ ๊ฒ ๊ฐ์
๋ฌธ์์์ ์์
๊ณต๊ฐ์ ์์น๋ฅผ โโ์ค๋ช
ํ๊ธฐ ์ํด ๋ฌด์ธ๊ฐ๋ฅผ ์ฌ์ฉํ๊ณ ,
$GOPATH
๋ฌธ์์ด๋ ๋ง์ฐฌ๊ฐ์ง์
๋๋ค.
2016๋
10์ 26์ผ 06:24 Jaana Burcu Dogan ์๋ฆผ @github.com
์ผ๋ค:
์ด๊ธฐ ๋ฌธ์๋ ํ๊ฒฝ์ ์ธ๊ธํ์ง ์๊ณ ๊ธฐ๋ณธ๊ฐ์ ๊ฐ์ ํ ์ ์์ต๋๋ค.
์ ํ ๋ณ์.SGTM
Go ์ฌ์ฉ์์๋ ๋ ๊ฐ์ง ์ ํ์ด ์์ต๋๋ค.
- ๊ธฐ์กด ํจํค์ง๋ฅผ ๋ฐ๋ก ๊ฐ์ ธ์ค๋ ์ฌ์ฉ์
- Go ๊ฐ๋ฐ์์ธ ์ฌ์ฉ์
๊ธฐ๋ณธ GOPATH๋ ์ฒซ ๋ฒ์งธ ๊ทธ๋ฃน์ ๋์๋ฌธ์๋ฅผ ์์ ํฉ๋๋ค. ์ฐ๋ฆฌ๋ ์ฌ์ ํ ์ ์งํ ์ ์์ต๋๋ค
๊ฐ๋ฐ์์ฉ ๋ฌธ์์ ๋ํ GOPATH ๊ด๋ จ ์ง์นจ. NS
์ค์น๋ ๋ ์ด์ GOPATH ์ค์ ์ ์ธ๊ธํ ํ์๊ฐ ์์ต๋๋ค.
@davecheney https://github.com/davecheney ์ ๊ฐ์ ๋ถ๋ก์ ๊ฐ์ง ์ ์์ต๋๋ค.
์ธ๊ธ.โ
๋น์ ์ด ์ธ๊ธ๋์๊ธฐ ๋๋ฌธ์ ์ด๊ฒ์ ๋ฐ๋ ๊ฒ์ ๋๋ค.
์ด ์ด๋ฉ์ผ์ ์ง์ ๋ต์ฅํ๊ณ GitHub์์ ํ์ธ
https://github.com/golang/go/issues/17262#issuecomment -256149104 ๋๋ ์์๊ฑฐ
์ค๋ ๋
https://github.com/notifications/unsubscribe-auth/AIDilZoQV3Ye3BOMS9uIMglI9GeDQeq7ks5q3ld3gaJpZM4KI0I2
.
๊ฐ์ฌํฉ๋๋ค. ์๋ ์ ์์ ์ฐธ์กฐํ์ญ์์ค.
์ฌ์ค์ ์ฐ๋ฆฌ๋ "go get์ด ์์ค๋ฅผ ํด๋์ ๋ค์ด๋ก๋ํ ๊ฒ์
๋๋ค"๋ผ๊ณ ๋งํ ์ ์์ต๋๋ค.
ํ ๋๋ ํ ๋ฆฌ ๋ด์์ go/src/github.com/Foo/Bar๋ผ๊ณ ํฉ๋๋ค."
2016๋ 10์ 26์ผ ์์์ผ 06:01 Nathan Youngman [email protected]์์ ๋ค์๊ณผ ๊ฐ์ด ์ผ์ต๋๋ค.
์๋ง๋ $HOME/go/...๊ฐ ๋์ ๋์ฒด๋ ์ ์์ต๋๋ค(๋๋
์๋์ฐ)?$HOME/go/bin์ PATH์ ์ถ๊ฐํ๊ธฐ ๋๋ฌธ์(๋๋ GOPATH๊ฐ ๋ค์๊ณผ ๊ฐ์ ๊ฒฝ์ฐ $GOPATH/bin
์ธํธ)...์๋ง๋ ์ด๋ ์์ ์์ ๋ฌธ์๋ ๊ฐ์ธ์ด
PATH ํ๊ฒฝ ๋ณ์๋ง ์ค์ ํ๊ณ GOPATH๋ $HOME/go๋ก ์ค์ ํฉ๋๋ค.
์ค๋ณต๋์ง๋ง ์ดํ ๋ฌธ์๋ฅผ ๋ช ํํ๊ฒ ๋ง๋ญ๋๋ค.์ด๊ธฐ ๋ฌธ์๋ ํ๊ฒฝ์ ์ธ๊ธํ์ง ์๊ณ ๊ธฐ๋ณธ๊ฐ์ ๊ฐ์ ํ ์ ์์ต๋๋ค.
์ ํ ๋ณ์?โ
๋น์ ์ด ์ธ๊ธ๋์๊ธฐ ๋๋ฌธ์ ์ด๊ฒ์ ๋ฐ๋ ๊ฒ์ ๋๋ค.
์ด ์ด๋ฉ์ผ์ ์ง์ ๋ต์ฅํ๊ณ GitHub์์ ํ์ธ
https://github.com/golang/go/issues/17262#issuecomment -256142424 ๋๋ ์์๊ฑฐ
์ค๋ ๋
https://github.com/notifications/unsubscribe-auth/AAAcAwUgsP6A9CzCzmeeQG1nGXBGLyvQks5q3lHzgaJpZM4KI0I2
.
์ด๊ฒ์ Hacktoberfest ์ ๋ง์ง๋ง ์ฃผ์ ํฐ ๋ฌธ์ ๊ฐ ๋ ๊ฒ์ ๋๋ค
๋ํธํ์ผ์ด ์กด์ฌํฉ๋๋ค. $HOME/go ๋ด๋ถ์ src/ ๋๋ ํ ๋ฆฌ์ ๋๋ค.
"src"๋ "์ด๊ฒ์ Go์ ์ํด ๊ธฐ๋ณธ GOPATH๋ก ์์ฑ๋์์ต๋๋ค" ๋ํธ ํ์ผ์ด ๋๋ ์ผ๋ฐ์ ์ธ ๋ฐฉ๋ฒ์ ๋๋ค.
๋ฐฉ์งํ๋ ค๋ ๊ฒ์ ๋ฌด์์ ๋๊น?
2016๋
10์ 26์ผ ์์์ผ ์ค์ 9์ 20๋ถ, RalphCorderoy [email protected]
์ผ๋ค:
๋ํธํ์ผ์ด ์กด์ฌํฉ๋๋ค. $HOME/go ๋ด๋ถ์ src/ ๋๋ ํ ๋ฆฌ์ ๋๋ค.
"src"๋ "์ด๊ฒ์ ๊ธฐ๋ณธ GOPATH๋ก ์์ฑ๋์์ต๋๋ค.
์ด๋" ๋ํธํ์ผ.โ
๋น์ ์ด ์ธ๊ธ๋์๊ธฐ ๋๋ฌธ์ ์ด๊ฒ์ ๋ฐ๋ ๊ฒ์ ๋๋ค.
์ด ์ด๋ฉ์ผ์ ์ง์ ๋ต์ฅํ๊ณ GitHub์์ ํ์ธ
https://github.com/golang/go/issues/17262#issuecomment -256194536 ๋๋ ์์๊ฑฐ
์ค๋ ๋
https://github.com/notifications/unsubscribe-auth/AAAcA057US0NKkEj669vwpatED2ECxA9ks5q3oChgaJpZM4KI0I2
.
$HOME/go ๋ฉ๋๋ค.
Windows ์ฌ์ฉ์๋ฅผ ์ํ ๊ธฐ๋ฅ์ ๋ฌด์์ ๋๊น?
์๋ ์ค
Windows ์ฌ์ฉ์๋ ์ฌ๊ธฐ์์ Docker์ ๋์ผํ %USERPROFILE%\go
ํฉ๋๋ค .
@davecheney , 2์๊ฐ ์ ์ ๋งํ ๊ฒ์ ๋ฐฉ์งํ๋ ค๊ณ ํฉ๋๋ค. https://github.com/golang/go/issues/17262#issuecomment -256173981
๊ฐ๋ผ๋ ๋ง์ด ์ ํ์ด์ ๋๋ค. ๋๋ ~/bin/go๋ฅผ ๊ฐ์ง๊ณ ์์๋ค. ์ฌ๋๋ค์ ๋ฐ๋์ ํ๊ณ ๋ฐ๋๊ณผ ๊ด๋ จ๋ ์์ค ์ฝ๋๋ฅผ ๊ฐ์ง๊ณ ์์ต๋๋ค. Nabbing ~/go๋ src๊ฐ ํฌํจ๋์ด ์๊ธฐ ๋๋ฌธ์ ์ด๋ฏธ ์กด์ฌํ๋ ๊ฒฝ์ฐ ๊ธฐ๋ณธ์ ์ผ๋ก ๋ฌด๋กํฉ๋๋ค. ~/go๊ฐ ์กด์ฌํ์ง ์์ผ๋ฉด Go๋ ์ด๋ฆ์ ๊ฒ์ํ๊ณ ๋๋ ํ ๋ฆฌ๋ฅผ ์์ฑํ๊ณ golang.org ๋๋ฉ์ธ ์ด๋ฆ์ ๊ธฐ๋ฐ์ผ๋ก ํ๋ ์ค์ํ dotfile์ ์ฌ์ฉํ์ฌ golang์ผ๋ก ์คํฌํ๋ฅผ ์ฐ์ ์ ์์ต๋๋ค.
๊ทธ๊ฒ์ด ๋ฌธ์ ์ด๊ณ ๊ฐ๋ฅํ ํด๊ฒฐ์ฑ ์ ๋๋ค. ์๋ฃจ์ ์ด ์ณ์ง ์๋ค๊ณ ํด์ ๋ฌธ์ ๊ฐ ์กด์ฌํ์ง ์๋ ๊ฒ์ ์๋๋๋ค.
๋๋ $ HOME/๊ทธ๋ฃน์ ํฌํํ๋ค
๊ฐ์ฌ ํด์.
GOPATH ๊ธฐ๋ณธ๊ฐ์ ~/.gosrc
๋ก ์ฌ์ฉํ ์ ์์ต๋๊น?
GOPATH ๊ธฐ๋ณธ๊ฐ์
~/.gosrc
๋ก ์ฌ์ฉํ ์ ์์ต๋๊น?
Linux ๋ฐ OS X์์๋ ๊ธฐ๋ณธ์ ์ผ๋ก ์จ๊ฒจ์ ธ ์๊ณ Windows์์๋ ๋ณผ ์ ์์ต๋๋ค. GOPATH๋ฅผ ์จ๊ธฐ๋ ๋๊ธฐ๋ ๋ฌด์์ ๋๊น?
๋ํดํธ ๊ฐ์ ๋ํ ๋
ผ์๋ ํ ๋ฌ ์ ์ ์งํ๋์์ต๋๋ค. $HOME/go
์ ๋ํ ๊ฒฐ์ ์ด ์๋ฃ๋์์ผ๋ฉฐ ์ด๋ฏธ ๊ตฌํ ์ค์
๋๋ค. ๊ทธ ์ฃผ์ ๋ก ๋์๊ฐ๋ฉด ์ค๋ ๋๊ฐ ์ฐธ์ ์ ์์ ์ ๋๋ก ๊ธธ์ด์ง ๊ฒ์
๋๋ค.
์ฌ๋๋ค์ ๋ฐ๋์ ํ๊ณ ๋ฐ๋๊ณผ ๊ด๋ จ๋ ์์ค ์ฝ๋๋ฅผ ๊ฐ์ง๊ณ ์์ต๋๋ค.
๋๋ ์ ๋ง๋ก ๋น์ ์ ๋ฐ๋ฅด๊ณ ์์ง๋ ์์ง๋ง ๋น์ ์ด GOPATH๋ฅผ
์ด๋ฏธ ๋ค๋ฅธ ๊ฒ, ๋น์ ์๊ฒ ์ํฅ์ด ์์ ๊ฒ์
๋๋ค.
2016๋
10์ 26์ผ ์์์ผ ์ค์ 9์ 43๋ถ, RalphCorderoy [email protected]
์ผ๋ค:
@davecheney https://github.com/davecheney , ๋๋ ๋ด๊ฐํ๋ ์ผ์ ๋ฐฉ์งํ๋ ค๊ณ ๋ ธ๋ ฅํ๊ณ ์์ต๋๋ค.
๋ ์๊ฐ ์ ์ ๋งํ๋ค: #17262 (๋๊ธ)
https://github.com/golang/go/issues/17262#issuecomment -256173981๊ฐ๋ผ๋ ๋ง์ด ์ ํ์ด์ ๋๋ค. ๋๋ ~/bin/go๋ฅผ ๊ฐ์ง๊ณ ์์๋ค. ์ฌ๋๋ค์ ๋ฐ๋์ ํ๊ณ ์์ค ์ฝ๋๋ฅผ ๊ฐ์ง๊ณ ์์ต๋๋ค.
๋ฐ๋์ ํ๋ ๊ฒ๊ณผ ๊ด๋ จ์ด ์์ต๋๋ค. Nabbing ~/go๊ฐ ์ด๋ฏธ ์กด์ฌํ๋ ๊ฒฝ์ฐ ๊ธฐ๋ณธ์ ์ผ๋ก
src๊ฐ ํฌํจ๋์ด ์๊ธฐ ๋๋ฌธ์ ๋ฌด๋กํฉ๋๋ค. ~/go๊ฐ ์์ผ๋ฉด Go
์ด๋ฆ์ ๊ฒ์ํ๊ณ ๋๋ ํ ๋ฆฌ๋ฅผ ๋ง๋ค๊ณ golang์ผ๋ก ์คํฌํ๋ฅผ ์ฐ์ ์ ์์ต๋๋ค.
์ค์ํ dotfile(์: golang.org ๋๋ฉ์ธ ์ด๋ฆ ๊ธฐ๋ฐ).๊ทธ๊ฒ์ด ๋ฌธ์ ์ด๊ณ ๊ฐ๋ฅํ ํด๊ฒฐ์ฑ ์ ๋๋ค. ์๋ฃจ์ ์ด ๋๋๋ผ๋
๋ฌธ์ ๊ฐ ์กด์ฌํ์ง ์๋๋ค๋ ์๋ฏธ๋ ์๋๋๋ค.โ
๋น์ ์ด ์ธ๊ธ๋์๊ธฐ ๋๋ฌธ์ ์ด๊ฒ์ ๋ฐ๋ ๊ฒ์ ๋๋ค.
์ด ์ด๋ฉ์ผ์ ์ง์ ๋ต์ฅํ๊ณ GitHub์์ ํ์ธ
https://github.com/golang/go/issues/17262#issuecomment -256199766 ๋๋ ์์๊ฑฐ
์ค๋ ๋
https://github.com/notifications/unsubscribe-auth/AAAcA-KTyB6tBYDEVVjHo9Aeb5szXVGbks5q3oYXgaJpZM4KI0I2
.
@davecheney ๋ , ์ด ๋ฌธ์ ๋ ~/gocode๋ฅผ ์ ์ํ๋ฉด์ ์์๋์์ต๋๋ค. ์๊ฐ์ด ์ง๋๋ฉด์ ~/go๊ฐ ๋์์ต๋๋ค. @ropike ๋ ์์์ "$HOME/go๊ฐ ์ด๋ฏธ ์กด์ฌํ๋ ๊ฒฝ์ฐ ํด๋น ์ด๋ฆ์ ์ ํํ๋ ๊ฒ์ด ๋ฌธ์ ์ผ ์ ์์ต๋๋ค. ์ด๋ ์ด๋ฏธ go๋ฅผ ์ค์นํ๊ณ GOPATH๋ฅผ ์ดํดํ๋ ์ ๋ฌธ๊ฐ์๊ฒ๋ง ๋ง์กฑํ ๊ฒ์ ๋๋ค." ๋๋ฌด ์ค๋ซ๋์ ๊ณจ๋์ ๋๋ฌ์ธ์ฌ ์์ผ๋ฉด "go"๋ผ๋ ๋จ์ด๊ฐ ์ผ๋ง๋ ํํ์ง, ๊ทธ๋ฆฌ๊ณ ๋ณด๋ ๊ฒ์๊ณผ ๊ฐ์ ๋ค๋ฅธ ์๋ฏธ๊ฐ ์๋ค๋ ๊ฒ์ ์ง๋จ์ ์ผ๋ก ์์ด ๋ฒ๋ฆฌ๋ ๊ฒ ๊ฐ์ต๋๋ค.
์ด ๋ณ๊ฒฝ ์ฌํญ์ ๋ฐ๋์ ์ฒ์ ์ ํ๋ ์ฌ๋๋ค์ ๋์์ผ๋ก ํ๋ฉฐ ๊ทธ๋ค ์ค ์ผ๋ถ๋ ๋ฐ๋์ด ์๋ ์ฉ๋๋ก ์ด๋ฏธ ~/go๋ฅผ ๊ฐ์ง ์ ์์ต๋๋ค. go๊ฐ ๋ฐ๋ผ์ค๊ณ GOPATH๊ฐ ์ค์ ๋์ง ์์์ผ๋ฉฐ ~/go๊ฐ ์กด์ฌํ์ง ์์ผ๋ฉด ์์ฑํ์ฌ ์ด๋ฆ์ ์ก์ ์ ์๋ค๊ณ ์ ์ํฉ๋๋ค. ๊ทธ๋ฌ๋ ~/go๊ฐ ์กด์ฌํ๋ ๊ฒฝ์ฐ ์ด์ GOPATH ์๋ ํธ์ถ์์ ์์ฑํ๋ค๊ณ ๋งํ ์ ์๋ ๊ฒฝ์ฐ์๋ง ์ฌ์ฉํด์ผ ํฉ๋๋ค. ์ด ํ๋๊ทธ๋ก dotfile์ ์์ฑํ ๊ฒ์ ์ ์ํ์ต๋๋ค. ๋น์ ์ ~/go/src๊ฐ ๊ทธ ํ๋๊ทธ๋ก ์ฌ์ฉ๋ ๊ฒ์ด๋ผ๊ณ ๋งํ์ต๋๋ค. ๋ด ๋ฐ๋๋ src ์์ฒด๊ฐ ํ๋ก๊ทธ๋๋จธ, ์ฆ Go๋ฅผ ์ค์นํ ์ ์๋ ํ๋ก๊ทธ๋๋จธ๋ค ์ฌ์ด์์ ๋๋ฌธ ์ผ์ด ์๋๋ผ๋ ๊ฒ์ ๋๋ค. ~/go/.default-gopath์ ๊ฐ์ ํน์ดํ dotfile์ ์ด๋ฌํ ์ ์ฌ์ ์ถฉ๋์ ๋ฐฉ์งํฉ๋๋ค.
Go์ ๋ํด ~/go๋ฅผ ์๋์ผ๋ก ๋ง๋ค๊ณ GOPATH ์์ด go๋ฅผ ์คํํ๋ฉด dotfile์ด ์๊ธฐ ๋๋ฌธ์ ~/go๋ฅผ ์ฌ์ฉํ์ง ์์ต๋๋ค. Go ์ค์น ์ค์ ์ ์์ํ์ฌ ๊ณ์ ์งํํด์ผ ํ๊ณ GOPATH๋ฅผ ์ค์ ํ๊ธฐ ๋๋ฌธ์ ์ด๊ฒ์ด ๊ด์ฐฎ๋ค๊ณ ์๊ฐํฉ๋๋ค. ๋์์ด ๋๋ ๋จ์ํ "ํจํค์ง ์ค์น, go(1) ์คํ" ์ฌ๋ก๊ฐ ์๋๋๋ค.
์ด ์ค ์ด๋ ๊ฒ๋ ๋ฌธ์ ๋ก ๊ฐ์ฃผ๋์ง ์๋๋ค๋ฉด ๊ด์ฐฎ์ต๋๋ค. ๊ทธ๋ฌ๋ ๋น์ ์ด ๋ด ์์ ์ ์ดํดํ์ง ๋ชปํ๋ค๊ณ ๋ถํํ๋ ํ, ๋๋ ๊ทธ๊ฒ์ ๊ณ์ ์ค๋ช ํ๋ ค๊ณ ์๋ํ ์ด๋ช ์ ๋๋ค.
์ด๊ฒ์ด ๋ด๊ฐ ์๋ ๋ค๋ฅธ ๊ฒฝ๋ก๋ฅผ ์ ์ํ ์ด์ ์ ๋๋ค. Rob์ ์ ์์ผ๋ก ์ด์ ๊ณต์์ ์ผ๋ก ์ ์์์ ๋ฒ์ด๋ฌ์ต๋๋ค.
๊ทธ๋ ๊ธด ํ์ง๋ง _a_ ๊ฒฝ๋ก๊ฐ ์ ํ๋์ด ์ด๋์ ์์ ์ผ๋ก ๋ณผ ์ ์์ด ๊ธฐ์ฉ๋๋ค.
๊ทํ์ ์ฐ๋ ค ์ฌํญ์ ๋ํด ๋ง์๋๋ฆฌ์๋ฉด https://go-review.googlesource.com/#/c/32019/ ๋ฅผ ํ๋ก์ฐํ์ฌ ๊ทํ๊ฐ ์ฐ๋ คํ๋ ๋ฌธ์ ๊ฐ ์ ํํ ๋ ผ์๋๊ณ ์๋ ๊ณณ์ ๋ฐฉ๋ฌธ
@RalphCorderoy , ๋ณด๋ ๊ฒ์ ํดํน์ ์ํ ~/go ๋๋ ํ ๋ฆฌ๊ฐ ์๋ ๋ณด๋๊ฒ์ ํ๋ก๊ทธ๋๋จธ๊ฐ ๊ฑฑ์
Rob๊ณผ Russ๋ ๋ํธ ํ์ผ์ ๋งค์ฐ ์ ํฉํฉ๋๋ค. ๋ต๋ณ์ ๋ํธ ํ์ผ(๋๋ ์ฌ๋ณผ๋ฆญ ๋งํฌ)์ด ํฌํจ๋ ๊ฒฝ์ฐ ๋ต๋ณ์ ๋ช ์ํ๋ ๊ฒ๋ณด๋ค ๋ฌธ์ ๋ฅผ ๋ช ์ํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
@bradfitz , ์, ~/go๋ ์ด๋ฏธ gogame ํ๋ ์ด์ด๋ฅผ ์ํด ์กด์ฌํ๋ฉฐ, ์ถ๊ฐ๋ก ~/go/src๋ ํ๋ก๊ทธ๋๋จธ gogame ํ๋ ์ด์ด์ด๊ธฐ ๋๋ฌธ์ ์กด์ฌํฉ๋๋ค. ๊ทธ๋ ์ง ์์ผ๋ฉด Go๋ฅผ ๊ฐ์ง๊ณ ๋์ง ์์ ๊ฒ์ ๋๋ค. (๋๋ ~/chess/src๋ฅผ ๊ฐ์ง๊ณ ์๋ค.)
adg์ ์์ฝ ๋
ผ๋ฆฌ https://go-review.googlesource.com/c/32019/#message -09c4c4bbe1d840f07e0172ca9c7c3896a6c12f5c ๊ด์ฐฎ์ ๋ณด์ด๊ณ ~/go ๋ง์ฝ ์กด์ฌํ์ง ์๋๋ค๋ฉด test -d ~/go/src
ํ์ง๋ง
~/go๊ฐ ์๋๋ผ Dave์ ์๋ ์ ์๊ณผ ๊ฐ์ด ๋ ํน์ดํ ๊ฒ์ด๋ผ๋ฉด ๋ฌธ์ ๊ฐ ๋์ง ์์ต๋๋ค. ~/go๊ฐ ๋งค์ฐ ์ธ๊ธฐ๊ฐ ์์์ ๋ณด์ฌ ์ฃผ๋ ํ์ฌ ์ฌ์ฉ๋๋ ์ค๋ฌธ์กฐ์ฌ๋ ์ ๊ถ์๊ฐ ์ด์์ ์์ ๋ฏธ๋์ด๋ฅผ ํ๋ก์ฐํ ๋งํผ ์ด์ฌ์ธ Go ํ๋ก๊ทธ๋๋จธ์ผ ๋ ๊ทธ๋ค์ง ๋์์ด ๋์ง ์๋๋ค๊ณ ์๊ฐํฉ๋๋ค.
@RalphCorderoy CL 32019์ ์์ง๋์ด๋ง๋ ์ด์ค ์์ท์ ์์ ๋ฒ์ 1.8 ์ด์ ์ Go๋ฅผ _์ฌ์ฉํ์ง ์๊ณ _ ์ค์ ํ์ง ์์_ ์์์ ๊ฒ์ ํ๋ก๊ทธ๋๋จธ๊ฐ ์ ์ฌ์ ์ธ ๋ถํธ์ ๊ฒช์ ์ ์๋ ์ ๋๋ฉด ์ถฉ๋ถํ๋ค๊ณ ์๊ฐํฉ๋๋ค. GOPATH _and_๋ ์ธ์ด์ธ ๋ฐ๋์ ๋ฐฐ์ฐ๊ธฐ ์์ํ์ต๋๋ค.
go ๋๊ตฌ๋ go๊ฐ ์๋ ์ฝ๋๋ฅผ ์ญ์ ํ๊ฑฐ๋ ์์์ํค์ง ์์ ๊ฒ์
๋๋ค. _๋ช ๊ฐ์ง_ ์ํฉ์์ ์ฝ๊ฐ ํผ๋์ค๋ฌ์ด ๋ฉ์์ง๋ฅผ ๋ฐ๊ฒ ๋ ๊ฒ์
๋๋ค. ์ด๊ฒ์ ์ค๋ช
ํ๊ธฐ ์ํด go ๋๊ตฌ๋ $GOPATH/src
์ ๋งจ ์์ Go ์์ค๋ฅผ ๋น๋ํ์ง ์์ต๋๋ค. ์๋ํ๋ฉด ํด๋น ์ฝ๋๋ ๊ฐ์ ธ์ฌ ์ ์๋ ํจํค์ง ๋ด์ ์์ง ์๊ธฐ ๋๋ฌธ์
๋๋ค. ๋ํ์ด ๋ณํ์ ๋ค๋ฅธ ๋ชฉ์ ์ ์ฝ๊ฒ์ ํ์ธํ๋ ๊ฒ์
๋๋ค go get
, ๊ทธ๋์์์ ๊ฒ์ ์์ค์ ์ด๋ ์์ค ์ฝ๋๊ฐ ์์๋ค _if_์ ๋ค์ด๋ก๋ ์์ค์ ๊ธฐ๋ณธ ์์น๋ฅผ ์ ๊ณตํ์ฌ ๋ช ๊ฐ์ง ์ฝ๋ ~/go/src
, go gettable ๋ฆฌํฌ์งํ ๋ฆฌ์์ ํ์๋ ํ์ ๋๋ ํฐ๋ฆฌ์ ์ถฉ๋ํ ๊ฐ๋ฅ์ฑ์ ๋งค์ฐ ํฌ๋ฐํ๋ฉฐ, ๊ทธ๋ฐ ์ผ์ด ๋ฐ์ํ๋๋ผ๋ ๋ฐ์ดํฐ๊ฐ ๋ณ๊ฒฝ๋๊ธฐ ์ ์ go ๋๊ตฌ๋ git์ด ์๋ง์ด ๋ ๊ฒ์
๋๋ค.
๋๋ ๋น์ ์ด ์ฐ๋ คํ๋ ์ํฉ์ด ๋งค์ฐ ๊ฐ๋ฅ์ฑ์ด ํฌ๋ฐํ๋ค๊ณ ์๊ฐํ๋ฉฐ ์์ ์ค๋ช ์ผ๋ก ๋์ฑ ์ํ๋์์ต๋๋ค.
( GOPATH=$HOME
์ ๋ํ ์ ํจํ ์ฃผ์ฅ์ผ ๋ฟ์
๋๋ค): goimports
์ ์ฑ๋ฅ์ด ํด๊ฒฐ๋์์ต๋๊น? .goimport_ignore
ํ์ผ์ ๋ํด ๊ธฐ์ตํฉ๋๋ค. ๊ทธ๋ ์ง ์์ผ๋ฉด ์ธ๊ธฐ ์๋ ํธ์ง์์ ์ฑ๋ฅ์ด ์ ํ๋ ์ ์์ต๋๋ค.
๋ฐ๋ผ์ GOPATH!=$HOME
๋ ์ถฉ๋์ด ์๊ณ ์ค์ผ๋์ง ์์ ์ต์
์ผ ๊ฐ๋ฅ์ฑ์ด ๋์ผ๋ฉฐ ์ฑ๋ฅ์ด ์์ด์ผ ํฉ๋๋ค.
@davecheney go get
์ดํ์๋ ~/go/{bin,src,pkg}์์ ์ง์ธ ์ฐ๋ ๊ธฐ๊ฐ ์๊ฒผ๊ณ ์ธํฐ๋ท์์ ์ฐพ์ ์ค์ ๋ถ์ฌ๋ฃ๋ ๊ฒ์ Go์ ๋ํ ์ข์ ์๊ฐ๊ฐ ์๋๋๋ค.
@RalphCorderoy ์ด ๋ณ๊ฒฝ์ ๋ชฉํ๋ ์๋ก์ด Go ์ฌ์ฉ์๊ฐ ๋ ์ฝ๊ฒ ์ฌ์ฉํ ์ ์๋๋ก ํ๋ ๊ฒ์ด๋ผ๋ ์ ์
@RalphCorderoy ๋น์ ์ด ์ค๋ช
ํ๋ ์ํฉ์ ๋๋ฌผ๋ฉฐ ์์์ ์น์ฌ์ดํธ์์ ์
ธ ๋ช
๋ น์ ์คํํ๋ ์ฌ๋์ ๋์คํฌ๊ฐ ๋ค์๋ ๊ฒ์ ๊ณ ์ฌ ํฉ๋๋ค. (ํธ์ง: Wine์ด ์ฌ์ฉ์์ ํ ๋๋ ํ ๋ฆฌ์์ .wine
๋ฅผ ์๋ ์์ฑํ๊ณ ์์ ํ๋ ๊ฒ์ ๊ณ ๋ คํ์ญ์์ค. ์ฌ์ฉ์๊ฐ ๊ฑฐ๊ธฐ์ ๋ค๋ฅธ ๊ฒ์ ๊ฐ์ง๊ณ ์๋ค๋ฉด ์ด๋ป๊ฒ ๋ ๊น์? ๊ฒฐ๊ตญ "์์ธ"์ ํน์ ์๋ฃ์ ๋ํด ์ฌ์ฉํ๋ ์ฉ์ด์
๋๋ค.)
"๋ฐ๋" ์ธ์ด์ "๋ฐ๋" ๋ณด๋ ๊ฒ์ ์ฌ์ด์ ์ด๋ฆ ์ถฉ๋์ ํ์คํ ์ดํด๋๊ณ ์ ์๋ ค์ ธ ์์ต๋๋ค. ํ์ผ ์์คํ ์ ๊ณต์ ๋ฆฌ์์ค์ด๋ฉฐ ์ถฉ๋์ด ๋ฐ์ํ๊ณ ๋ถ๊ฐํผํฉ๋๋ค.
@davecheney , ์ ๋ ์๋ก์ด Go ์ฌ์ฉ์๊ฐ ์๋๊ธฐ ๋๋ฌธ์ ์ด ๋ณ๊ฒฝ ์ฌํญ์ด ์ ๋ฅผ ๋๊ธฐ ์ํ ๊ฒ์ด ์๋๋ผ๊ณ ๋งํ์ง ๋ง์์ฃผ์ธ์. ๋๋ ๋น์ ์ด ๊ทธ๊ฒ์ ์ง์ ํ๊ธฐ ์์ํ๊ธฐ ์ ๋ถํฐ ํญ์ ์๊ณ ์์์ต๋๋ค. ๋๋ ๋ํ ๋น์ ์ ์์น๊ฐ len(intersect(existing-~/go, GOPATH-less))์ด ๋๋ฌด ์์์ ๊ฑฑ์ ํ ์ ์๋ค๋ ๊ฒ์ ์ดํดํฉ๋๋ค.
~/go์์ go-get spew๋ฅผ ์ ๋ฆฌํ ํ ์ผ๋ฐ์ ์ผ๋ก ๊ฑฐ๊ธฐ์ ์๋ ๊ฒ์ด ๋ฌด์์ธ์ง ์๊ณ ์์๊ธฐ ๋๋ฌธ์ ๋ช ๋ น์ด $HOME ์๋์์ ๋ ๋ง์ ๊ฒฝ์ฐ์ ์ํํ์ ์ ์๋ ๋ค๋ฅธ ์์ ์ ์กฐ์ฌํด์ผ ํฉ๋๋ค. ์ฒญ์๊ฐ ํ์ํ์ต๋๋ค.
๊ตฌ๋ ์ทจ์
๊ธฐ๋ถ ๋์๊ฒ ํ๋ค๋ฉด ์ฃ์กํฉ๋๋ค. ๋ ์ด์ ๋์ํ๊ณ ์ถ์ง ์์ต๋๋ค
์ด ๋ฌธ์ ์ ๋ํด ๋น์ ๊ณผ ํจ๊ป. ๊ฐ์ฌํฉ๋๋ค.
2016๋
10์ 28์ผ ๊ธ์์ผ ์ค์ 3์ 28๋ถ, RalphCorderoy [email protected]
์ผ๋ค:
@davecheney https://github.com/davecheney , ์ด๋ฐ ๋ง ์ข ๊ทธ๋งํด์ฃผ์ธ์
๋๋ ์๋ก์ด Go ์ฌ์ฉ์๊ฐ ์๋๊ธฐ ๋๋ฌธ์ ๋ณํ๋ ๋๋ฅผ ๋๊ธฐ ์ํ ๊ฒ์ด ์๋๋๋ค. ๋๋ ๊ฐ์ง๊ณ ์๋ค
๋น์ ์ด ๊ทธ๊ฒ์ ์ง์ ํ๊ธฐ ์์ํ๊ธฐ ์ ์๋ ํญ์ ๊ทธ๊ฒ์ ์๊ณ ์์์ต๋๋ค. ๋๋
๊ทํ์ ์์น๊ฐ len(intersect(existing-~/go, GOPATH-less))์์ ์ดํดํ์ญ์์ค.
๊ฑฑ์ ํ๊ธฐ์๋ ๋๋ฌด ์์ต๋๋ค.~/go์์ ๋ฟ์ด์ ธ ๋์ค๋ ๊ฒ์ ์ ๋ฆฌํ ํ, ๊ทธ๊ฐ ๋ฌด์์ ์๊ณ ์์๋์ง
ํ์์๋ ๊ฑฐ๊ธฐ์ ์์๊ณ , ๊ทธ๋ ๋ค๋ฅธ ๋ฌด์์ ๋ณด๊ธฐ ์ํด ์กฐ์ฌํด์ผ ํ์ต๋๋ค.
์ถ๊ฐ ์ ๋ฆฌ๊ฐ ํ์ํ ๊ฒฝ์ฐ ๋ช ๋ น์ด $HOME์์ ์ํ๋์์ ์ ์์ต๋๋ค.โ
๋น์ ์ด ์ธ๊ธ๋์๊ธฐ ๋๋ฌธ์ ์ด๊ฒ์ ๋ฐ๋ ๊ฒ์ ๋๋ค.
์ด ์ด๋ฉ์ผ์ ์ง์ ๋ต์ฅํ๊ณ GitHub์์ ํ์ธ
https://github.com/golang/go/issues/17262#issuecomment -256697043 ๋๋ ์์๊ฑฐ
์ค๋ ๋
https://github.com/notifications/unsubscribe-auth/AAAcAyE8xRIcxvwgRfalJoqZa3TBU9Z3ks5q4NEcgaJpZM4KI0I2
.
davecheney, ์๋, ๋ฒ์ฃ๊ฐ ์๋๋๋ค. ๊ฐ์ ๋ ์ ๊ณ์ ๋ฎ๋ ๊ฒ์ ์๋ฏธ๊ฐ ์์ต๋๋ค.
$HOME
๊ฐ ์ค์ ๋์ง ์์ ๊ฒฝ์ฐ ์์๋๋ ๋์์ ๋ฌด์์ธ์ง ๊ถ๊ธํฉ๋๋ค.
๋๋ ๊ทธ๋ฐ ๊ฒฝ์ฐ์ ์์คํ ์์ ์์ ํ ์ ์ด ์์ง๋ง ๋๊ตฐ๊ฐ๊ฐ ์ด๋ค ์ด์ ๋ก ๊ธฐ๋ณธ ํ๊ฒฝ ๋ณ์๋ฅผ ์์ ํ์ ๊ฐ๋ฅ์ฑ์ด ์๋ ๊ฒ ๊ฐ์ผ๋ฉฐ ์ด ๊ทน๋จ์ ์ธ ๊ฒฝ์ฐ๋ ์ผ๊ด๋๊ฒ ์ฒ๋ฆฌ๋์ด์ผ ํฉ๋๋ค.
ํ์ฌ $GOPATH=''
; ๊ทธ๊ฒ์ ํ์ฌ ์์
๋๋ ํ ๋ฆฌ๋ฅผ ์ฌ์ฉํ๋ค๋ ๊ฒ์ ์๋ฏธํฉ๋๊น?
ํ์ฌ ์์ ๋๋ ํ ๋ฆฌ ์ฌ์ฉ
์ด๊ฒ์ด GOPATH๋ฅผ ์ค์ ํ์ง ์์ ์๋ก์ด Go ์ฌ์ฉ์์๊ฒ ๊ฐ์ฅ ์ ์ฉํ ์ ์๋ค๋ ์๊ฐ์ด ๋ค์์ต๋๋ค. go get
๋ ํ์ฌ ๋๋ ํ ๋ฆฌ๋ฅผ ์ฑ์ฐ๋ wget ๋ฑ๊ณผ ์ ์ฌํฉ๋๋ค. ๊ทธ๋ค์ ์ด ์์ ์์ GOPATH์ ๊ฒฝ๋ก ์ธก๋ฉด์ ๊ด์ฌ์ด ์์ผ๋ฉฐ, ์์ ์ด ๋ง๋ ์๋ก์ด ์์ ๋๋ ํ ๋ฆฌ๊ฐ ์ ๊ณตํ๋ ๊ฒ์ฒ๋ผ ๋ค๋ฅธ ์จ๋ผ์ธ ํญ๋ชฉ์ ๊ฐ์ง๊ณ ๋
ธ๋ ๋ชจ๋ ๋ชจํ์ ๋ถ๋ช
ํ ์ํ ๊ฒ์
๋๋ค. ๊ทธ๋ค์ ์ฐธ์กฐํ๋ ๋ค๋ฅธ ์ ์ฅ์๋ฅผ ์ป๊ณ , ์คํํ๊ณ , ์ฝ๊ฒ ์ญ์ ํ ์ ์์ต๋๋ค.
๋๋ ์ด๊ฒ์ ๋ํด ์๊ฐ๋ฆฐ ๊ฐ์ ์ ๊ฐ์ง๊ณ ์์ง๋ง $GOPATH
์ค์ ํ ์ฌ๋์ผ๋ก์ ๋์ ์ง๋ฐฐ์ ์ธ ๊ฐ์ ์ go get
ํ๋์ด "๊ฒฐ์ ์ "์ด์ด์ผ ํ๊ณ ํญ์ $GOPATH
์๋์ ์ค์นํด์ผ ํ๋ค๋ ๊ฒ์
๋๋ค. ์ผ๊ด๋๊ณ ์ ๋ฌธ์ํ๋ ๋ชฉ์ ์ง.
์ด ๋ณ๊ฒฝ ์ฌํญ์ ์ํฅ์ ๋ฐ์ง๋ ์์์ง๋ง go get
๋ช
๋ น์ด ์คํ๋ ๋ ์์
๋๋ ํฐ๋ฆฌ๊ฐ ๋ฌด์์ธ์ง์ ๋ฐ๋ผ ๋ค๋ฅธ ์์น์ ํญ๋ชฉ์ ๋ค์ด๋ก๋ํ๋ ๊ฒ์ด ์ด์ํ๊ฒ ๋๊ปด์ง๋๋ค. ์ด๊ฒ์ด wget
, npm install
๋ฐ ๊ธฐํ ๋๊ตฌ๊ฐ ํ๋ ์ผ์ด๋ผ๋ ๊ฒ์ ์๊ณ ์์ง๋ง ์ผ๊ด๋ $GOPATH
๊ฐ(์ด๊ฒ์ด ๋ด๊ฐ ์ด ๋ณํ์ ์ ์ ์ ํด์ํจ).
์ด๊ฒ์ด ์ด ๋ฌธ์ ์ ๋ฒ์๋ฅผ ๋ฒ์ด๋๋ ๊ฒฝ์ฐ $HOME
๊ฐ ์ค์ ๋ก ์ค์ ๋์ง ์์ ๊ฒฝ์ฐ ๋จ์ํ ์ข
๋ฃํ๊ณ ์ค๋ฅ๋ฅผ ์ถ๋ ฅํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
๋๋ ์ 3์ธ๊ณ์ ์๋ฐ ์ธ๊ณ์์ ์จ 5๋ช ์ ์๋ก์ด ํ๋ก๊ทธ๋๋จธ๋ฅผ ๊ฐ๋ฅด์ณค์ต๋๋ค. ๊ทธ๋ค์ ๋ชจ๋ GOPATH์ ๋ํด ํ์คํ ํผ๋์ค๋ฌ์ํ์ต๋๋ค. ํ, ์ ๋ Go 1์ด ๋์ค๊ธฐ ์ ์ ๋ค์ ์์ํ ๋ ๊ทธ๋ฌ์ด์. ์ ๋ ๊ฐ์ธ์ ์ผ๋ก "$HOME/gopath"๋ฅผ ์ฌ์ฉํ์ง๋ง "go get" ๋ช ๋ น์ด ์ด์ ์ฒด์ ์ ๋ํ ์ด๋ ๊ฒฝ๋ก๋ฅผ ๋ง๋๋ ๋ฐฉ๋ฒ์ ๋ํด ๋ช ํํ go ๋ธ๋ก๊ทธ๋ฅผ ๊ฐ๋ฆฌํค๋๋ก ์ ์ํฉ๋๋ค. ๊ทธ๊ฒ ์ฐ๋ฆฌ์๊ฒ ํ์ํ ์ ๋ถ์ ๋๋ค. ์ฌ์์ด ์๋ "go get" ๋ช ๋ น์ ์ํ ๋ช ๊ฐ์ง ์ง์นจ. ํ์ง๋ง ๋น์ด๋จน์ ๊ฐ๋จํ ๋ธ๋ก๊ทธ ๊ฒ์๋ฌผ!!
๋ถ๋ช ํ GOPATH๊ฐ ์ค์ ๋์ง ์์ ๊ฒฝ์ฐ๋ฅผ ์๋ฏธํฉ๋๋ค. ํ์ฌ ํ์๋๋ ์ค๋ฅ ๋ฉ์์ง๋ฅผ ์ ๋ฐ์ดํธํ๊ธฐ๋ง ํ๋ฉด ๋ฉ๋๋ค. ์ฑํ๋ฅ ์ ์ด๋ฏธ ์ฌ๋์ต๋๋ค.. ์๋ด๊ธฐ๋ค์ด ํ๊ณ ์๋ ํ์ฌ์ ๊ตฌ๊ธ ์์ ๋ฐฉ์์ด ์๋ ์ฝ๊ฐ์ ๋์์ด ํ์ํฉ๋๋ค.
@einthusan https://golang.org/doc/code.html#GOPATH ์ ๊ฝค ์ ๋ฌธ์ํ๋์ด ์๋ ๊ฒ ๊ฐ์ง๋ง, Go๋ฅผ ์์ํ๋ ์ฌ๋๋ค์ด ์ค์ ๋ก ์ด ํ์ด์ง๋ฅผ ์ฝ๋์ง ๋ชจ๋ฅด๊ฒ ์ต๋๋ค.
์คํธ ์ฃ์กํฉ๋๋ค. ์ธํฐ๋ท ๊ฒ์์ ํ ํ.. "GOPATH๊ฐ ์ค์ ๋์ง ์์์ต๋๋ค... ํ์ฌ ์์ ๋๋ ํ ๋ฆฌ๋ฅผ ์์ GOPATH๋ก ์ฌ์ฉํ์๊ฒ ์ต๋๊น?"๋ผ๋ ๋ฉ์์ง๊ฐ ์ฌ์ฉ์์๊ฒ ํ์๋์ด์ผ ํ๋ค๊ณ ์๊ฐํฉ๋๋ค. (์ ์๋์ค)
@einthusan , cmd/go๊ฐ ๋ํ์ ํ๋กฌํํธ๋ฅผ ์ํํ ์ ๋ก๊ฐ ์์ต๋๋ค.
์ ๊ธฐ๋ณธ GOPATH๊ฐ $HOME/go์ธ ๊ฒฝ์ฐ. ์ฌ๋๋ค์ ์ด https://hub.docker.com/_/golang/ ์ด ๋์ผํ ๋์์ ์ฑํํ ๊ฒ์ผ๋ก ๊ธฐ๋ํ์ง ์์ต๋๊น?
@cescoferraro ๊ทธ๊ฒ์ ํด๋น ์ด๋ฏธ์ง์ ์ ์ง ๊ด๋ฆฌ์์ ๋ํ ์ง๋ฌธ์ ๋๋ค. "๊ณต์"์ด๋ผ๊ณ ํ์๋์ด ์์ง๋ง ํด๋น ํ๋ก์ ํธ๋ Go์ ๊ด๋ จ์ด ์์ต๋๋ค.
unset $HOME
๋ํ ๋ด ์ง๋ฌธ์ ๋ต๋ณ/์๋ต:
ํ์ฌ ๊ตฌํ(CL์ ์์ ๋งํฌ๋จ)์์ $HOME
๊ฐ ์ค์ ๋์ง ์์ ๊ฒฝ์ฐ $GOPATH
๊ธฐ๋ณธ๊ฐ์ ""
$HOME
์
๋๋ค. https://go-review.googlesource.com/#/ c/32019/11/src/go/build/build.go ์ด๊ฒ์ด ํ์ฌ ๋์๊ณผ ์ผ์นํ๋ค๊ณ ์๊ฐํฉ๋๋ค.
$HOME
๊ฐ ํญ์ ์ผ๋ฐ ๋ก๊ทธ์ธ ์ธ์
์์ ์ค์ ๋๊ธฐ ๋๋ฌธ์ ์ด ๊ทน๋จ์ ์ธ ๊ฒฝ์ฐ๋ ๊ฑฐ์ ์์ ๊ฒ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค. ์ด๋ ๋๋ถ๋ถ์ Go ํ๋ก๊ทธ๋๋จธ์ ๊ฒฝ์ฐ์ผ ๊ฒ์
๋๋ค. ๋๋ ๊ฐ์ธ์ ์ผ๋ก ํ๋์ ๋ช
์์ ์ผ๋ก _์ข์_ ํ๊ณ ์ถ์ง๋ง, "๋ถ์์ฉ"(์์
๋๋ ํ ๋ฆฌ์ ์ค์นํ๋ ๊ฒ๊ณผ ๊ฐ์)์ ์๋ ๊ฒ ๊ฐ์ต๋๋ค. ํ ๋ ธ์ผ๋ฉด ๊ณ ์ณ์ค. :)
Go๋ฅผ ์ฒ์ ์์ํ๋ ์ฌ๋๋ค์ ์ํด ์ด๊ฒ์ด ํ์ฌ ๊ฒฝ๋ก์ ๊ฐ๋๋ก ํ์ญ์์ค.
GOPATH=$(pwd)
export GOPATH=$(pwd)
ํ๋ฉด ํ๋ก์ ํธ ๊ฐ์ ์ฝ๊ฒ ์ ํํ ์ ์์ต๋๋ค.
์ด ๋ณ๊ฒฝ ์ฌํญ์ ๋ํด ์ ์ํ ๋์:
GOPATH
๊ฐ ์ค์ ๋๋ฉด ๋๊ตฌ๋ ํญ์ ๊ทธ๋ฌ๋ ๊ฒ์ฒ๋ผ ์๋ํฉ๋๋ค.HOME
( home
plan9๋ฅผ ๋ค์ด, USERPROFILE
Windows ์ฉ) ํ๊ฒฝ ๋ณ์๋ฅผ.GOPATH
๋ ์ค์ ๋์ง ์์ต๋๋ค. ์ฆ, "go get"์ด cannot download, $GOPATH not set.
์ ํจ๊ป ์คํจํฉ๋๋ค.> unset GOPATH
> unset HOME
> go env GOPATH
GOPATH
๋ $HOME/go
( $home/go
, %USERPROFILE%\go
)๋ก ์ค์ ๋ฉ๋๋ค.> unset GOPATH
> go env GOPATH
/Users/campoy/go
ํ์ฌ $GOPATH
๊ฐ ์กด์ฌํ์ง ์์ผ๋ฉด go get import/path
์คํํ ๋ ์์ฑ๋ฉ๋๋ค. ์ด๊ฒ์ ๋ณ๊ฒฝ๋์ง ์์ต๋๋ค.
์ ์ผํ ๋ณ๊ฒฝ ์ฌํญ์ $GOPATH
๊ฐ ์ฌ์ฉ์ ํ๊ฒฝ์์ ์ค์ ๋์ง ์์ ๊ฒฝ์ฐ(์ฆ, echo $GOPATH์ ๊ฐ์ด ํ์๋์ง ์๋ ๊ฒฝ์ฐ) ๊ธฐ๋ณธ๊ฐ์ด ํ์ฉ ๊ฐ๋ฅํ์ง ํ์ธํ๊ธฐ ์ํด ์ถ๊ฐ ๊ฒ์ฌ๊ฐ ์ํ๋๋ค๋ ๊ฒ์
๋๋ค.
> unset GOPATH
> unset HOME
> go get github.com/golang/example/hello
package github.com/golang/example/hello: cannot download, $GOPATH not set. For more details see: 'go help gopath'
๐
$GOPATH
์ด ์กด์ฌํ์ง ์์ผ๋ฉด ๋๋ ํ ๋ฆฌ๊ฐ ์์ฑ๋์์์ ์ค๋ช
ํ๋ ๊ฒฝ๊ณ ๊ฐ ํ์๋๋ฉฐ ์ถ๊ฐ ์ ๋ณด๋ go help gopath
๋ฅผ ๊ฐ๋ฆฌํต๋๋ค.> unset GOPATH
> go get github.com/golang/example/hello
warning: GOPATH is not set, creating directory /Users/campoy/go. See 'go help gopath' for more information
๐
$GOPATH
๊ฐ ์๋ ๊ฒฝ์ฐ:> unset GOPATH
> touch ~/go
> go get github.com/golang/example/hello
package github.com/golang/example/hello: can't use GOPATH at /Users/campoy/go: it is not a directory
๐
src
๋ผ๋ ํ์ ๋๋ ํ ๋ฆฌ๊ฐ ์๋ ๋๋ ํ ๋ฆฌ๋ ๋ช
๋ น์ด ์ฑ๊ณตํฉ๋๋ค(๊ฒฝ๊ณ ์์).> unset GOPATH
> mkdir ~/go
> go get github.com/golang/example/hello
๐
> unset GOPATH
> mkdir -p ~/go/src
> touch ~/go/others
> go get github.com/golang/example/hello
๐
src
๋ผ๋ ํ์ ๋๋ ํ ๋ฆฌ๊ฐ ์๋ ๋น์ด ์์ง ์์ ๋๋ ํ ๋ฆฌ์
๋๋ค. ๋ช
๋ น์ด ์คํจํฉ๋๋ค.> unset GOPATH
> mkdir ~/go
> touch ~/go/others
> go get github.com/golang/example/hello
package github.com/golang/example/hello: can't use GOPATH at /Users/campoy/go: it is not empty, and no 'src' was found
๐
๋ฐ๋ผ์ ๊ธฐ๋ณธ GOPATH
์ฌ์ฉํ์ฌ ๋๋ ํ ๋ฆฌ๋ฅผ ๋ง๋ค ๋๋ง๋ค ์ ๊ฒฝ๊ณ ๋ง ํฌํจ๋ฉ๋๋ค.
@campoy ํ๋ ์ ์์ด ๋ฉ์ง๊ฒ ๋ณด์ ๋๋ค.
๊ทธ๋ฌ๋ ๋ค์ ๊ณ ๊ธ ์ฌ์ฉ์๋ก์ ๋๋ ์ฐ๋ฆฌ ์ค ์ผ๋ง๋ ๋ง์ ์ฌ๋๋ค์ด $HOME/go
๋ฅผ GOPATH
๋ก ๋งค์ผ ์ง์งํ๊ฒ ์ฌ์ฉํ๋์ง ์๊ณ ์ถ์ต๋๋ค. ํ์ด์ฌ ์์
๋๋ ํ ๋ฆฌ์์ ๊ฐ์ ํ๊ฒฝ์ ์์ํ๋ ๊ฒ๊ณผ ์ ์ฌํ๊ฒ GOPATH
๋ฅผ ์ค์ ํ๋ go ๋ช
๋ น์ด ์์ด์ผ ํ๋ค๊ณ ์๊ฐํ์ต๋๋ค.
์ฌ๋ฌ ํ๋ก์ ํธ์์ ์์ ํ๊ธฐ ๋๋ฌธ์ ์ผ๋ฐ์ ์ผ๋ก ๋ค์๊ณผ ๊ฐ์ด ํฉ๋๋ค.
$ cd foo-app
$ export GOPATH=$(pwd)
# switching to another app
$ cd ../foobar-app
$ export GOPATH=$(pwd)
@jinmatt
์ด ๋ณ๊ฒฝ์ ์ค์ ๋์ง ์์ GOPATH์ ๋ํ ๋์๋ง ์์ ํ๋ฉฐ, ์ด๋ ๋ณ๊ฒฝ ๋ฒ์์
๋๋ค.
์ปค๋ฎค๋ํฐ๋ ์ด๋ฏธ $HOME/go์ ๋ํ ํฉ์์ ๋๋ฌํ์ต๋๋ค.
$HOME/go
๋ง์์ ๋ค์ง ์์ผ๋ฉด GOPATH
๋ฅผ ์ํ๋ ๊ฐ์ผ๋ก ์ค์ ํ์ญ์์ค(์: ์ ๊ฒฝ์ฐ์๋ $HOME).
๋์์ธ ์ค์ผ์น ๊ฐ์ฌํฉ๋๋ค.
# ์์ฑ๋ GOPATH=/users/campoy/go; gopath๋ฅผ ๋์ฐ๋ฌ ๊ฐ์ญ์์ค'๋ฅผ ์ฐธ์กฐํ์ญ์์ค
๊ฒฝ๊ณ ๊ฐ ์๋๋๋ค. ๊ฒฝ๊ณ ๊ฐ ์๋ชป๋์์ต๋๋ค. ๋ฐ๋ฉด์ ๋ง๋ค๊ธฐ๊ฐ ์คํจํ๋ฉด ์ธ์ํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
go: creating GOPATH=/users/campoy/go: %v
GOPATH๊ฐ ์ ์ถ๋๊ฑฐ๋ ๋ช ์์ ์ผ๋ก ์ค์ ๋์๋์ง ์ฌ๋ถ์ ๊ด๊ณ์์ด ๋ ๋ฉ์์ง๋ฅผ ๋ชจ๋ ์ธ์ํ ์ ์์ต๋๋ค.
ํธ์ง: Github ๋งํฌ๋ค์ด์ด ์ด๊ฒ์ ์์ ํ ๋ง์น์ง ์์๋ค๊ณ ๊ฐ์ ํ์ญ์์ค.
@campoy src/
๋๋ ํ ๋ฆฌ์ ๊ด๋ จํ์ฌ GOPATH๊ฐ ์ค์ ๋์์ง๋ง src ๋๋ ํ ๋ฆฌ๊ฐ ์์ ๋ go get
์ ํ์ฌ ๋์์ ๋ฌด์์
๋๊น? ๋ง๋ค์ง ์์ ์ด์ ๊ฐ ์์ต๋๊น?
$HOME/go/src๊ฐ ์ฒซ ๋ฒ์งธ go get(๋๋ ํด๋น ํ๊ฒฝ ๋ณ์๊ฐ ์ค์ ๋ ๊ฒฝ์ฐ $GOPATH/src)์์ ์์ฑ๋๋์ง ์ค๋ช ํ๋ ๊ฒ์ด ๋ ๊ฐ๋จํด ๋ณด์ ๋๋ค.
์ค๋๋ ์๋ GOPATH๊ฐ ์ค์ ๋๋ฉด ํ์ํ ๋๋ ํ ๋ฆฌ๊ฐ ํ์์ ๋ฐ๋ผ ๋ฌด์กฐ๊ฑด ์์ฑ๋ฉ๋๋ค.
CL https://golang.org/cl/33356์ ์ด ๋ฌธ์ ๊ฐ ์ธ๊ธ๋์ด ์์ต๋๋ค.
CL https://golang.org/cl/33730์ ์ด ๋ฌธ์ ๊ฐ ์ธ๊ธ๋์ด ์์ต๋๋ค.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
$HOME/go๋ ์ด๋ป์ต๋๊น(์ ๊ฐ ์ฌ์ฉํ๋ ๊ฒ์ ๋๋ค).