Go: cmd/go: ์„ค์ •๋˜์ง€ ์•Š์€ ๊ฒฝ์šฐ GOPATH=$HOME/go๋กœ ๊ฐ€์ •

์— ๋งŒ๋“  2016๋…„ 09์›” 28์ผ  ยท  137์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: golang/go

์ด ์ œ์•ˆ์€ #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 ๋ฅผ ์„ค์ •ํ•ด์•ผ ํ•˜๋ฏ€๋กœ ๊ฒฝํ—˜์ด ๋ณ€๊ฒฝ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

FrozenDueToAge NeedsFix Proposal-Accepted

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

$HOME/go๋Š” ์–ด๋–ป์Šต๋‹ˆ๊นŒ(์ œ๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค).

๋ชจ๋“  137 ๋Œ“๊ธ€

/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 ๋Œ€ํ•œ ๊ธฐ๋ณธ๊ฐ’์„ ์‚ฌ์šฉํ•˜๋„๋ก ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์™œ๋ƒํ•˜๋ฉด ์ด๊ฒƒ์ด ์–ธ์–ด๋ฅผ ์ฒ˜์Œ ์ ‘ํ•˜๋Š” ๋งŽ์€ ์‚ฌ๋žŒ๋“ค์—๊ฒŒ ํ˜ผ๋ž€๊ณผ ์ขŒ์ ˆ์˜ ์ง€์†์ ์ธ ์›์ธ์ด ๋˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

์ž๋™ ์Šค๋‹ˆํ•‘์„ ์‚ฌ์šฉ ์ค‘์ž…๋‹ˆ๋‹ค. ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ฃผ์š” ์‚ฌ์šฉ ์‚ฌ๋ก€์— ์‹คํŒจํ–ˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

  1. Go๋ฅผ ์„ค์น˜ํ–ˆ์ง€๋งŒ ์‹ค์ œ๋กœ Go ์„ค์น˜ ๋ฌธ์„œ๋ฅผ ์ฝ์ง€ ์•Š๊ณ  brew install go ๋ผ๋Š” repo์˜ README์—์„œ ๋งํ•œ ๋Œ€๋กœ ๋”ฐ๋ž์Šต๋‹ˆ๋‹ค.
  2. go get github.com/thething/theproject
  3. ์ด์ œ $GOPATH๋ฅผ ์„ค์ •ํ•˜์ง€ ์•Š๋Š”๋‹ค๋Š” ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ์ €๊ฒŒ ๋ญ์—์š”? ๋ˆ„๊ตฐ๊ฐ€ ํŠธ์œ—ํ•œ ์ด ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•˜๊ณ  ์‹ถ์—ˆ์Šต๋‹ˆ๋‹ค!

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๊ฐ€ ์‚ฌ๋ผ์งˆ ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•œ๋‹ค๋ฉด, ์šฐ๋ฆฌ๊ฐ€ ๋ฌด์—‡์„ ์„ค์ •ํ–ˆ๋Š”์ง€๋Š” ๊ทธ๋‹ค์ง€ ์ค‘์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์œ„์—์„œ ์ฝ์€ ๋‚ด์šฉ์—์„œ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํ•ฉ์˜๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

  1. ๊ธฐ๋ณธ์ ์œผ๋กœ GOPATH=$HOME ๋Š” ๋„ˆ๋ฌด ๊ณต๊ฒฉ์ ์ž…๋‹ˆ๋‹ค.
  2. ๊ธฐ๋ณธ๊ฐ’์€ ์–ด๋”˜๊ฐ€์— 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 ์‚ฌ์šฉ์ž์—๋Š” ๋‘ ๊ฐ€์ง€ ์œ ํ˜•์ด ์žˆ์Šต๋‹ˆ๋‹ค.

  • ๊ธฐ์กด ํŒจํ‚ค์ง€๋ฅผ ๋ฐ”๋กœ ๊ฐ€์ ธ์˜ค๋Š” ์‚ฌ์šฉ์ž
  • 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๊ฐ€ ์„ค์ •๋˜์ง€ ์•Š์€ ๊ฒฝ์šฐ:

    • ~/{bin,pkg,src} ์ค‘ ํ•˜๋‚˜ ๋˜๋Š” ๋‘ ๊ฐœ๋งŒ ์กด์žฌํ•˜์ง€๋งŒ ์ „๋ถ€๋Š” ์•„๋‹Œ ๊ฒฝ์šฐ:

    • ๊ทธ๋“ค์€ GOPATH๋ฅผ ์„ค์ •ํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค. pkg๋Š” ํŠน์ดํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

    • ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ๋ชจ๋‘ ๋˜๋Š” ์ „ํ˜€ ์กด์žฌํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

    • ๊ทธ๊ฒƒ๋“ค์ด ๋ชจ๋‘ ์กด์žฌํ•˜๋Š”์ง€ ํ™•์ธํ•˜์‹ญ์‹œ์˜ค

    • ์ด๋™ ๊ฒฝ๋กœ=$(๋น„๋ฐ€๋ฒˆํ˜ธ)

๋‚˜๋Š” ์ด๊ฒƒ์— ๋Œ€ํ•ด ์—‡๊ฐˆ๋ฆฐ ๊ฐ์ •์„ ๊ฐ€์ง€๊ณ  ์žˆ์ง€๋งŒ $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 ์ƒ์„ฑ

ํ˜„์žฌ $GOPATH ๊ฐ€ ์กด์žฌํ•˜์ง€ ์•Š์œผ๋ฉด go get import/path ์‹คํ–‰ํ•  ๋•Œ ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ๋ณ€๊ฒฝ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์œ ์ผํ•œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์€ $GOPATH ๊ฐ€ ์‚ฌ์šฉ์ž ํ™˜๊ฒฝ์—์„œ ์„ค์ •๋˜์ง€ ์•Š์€ ๊ฒฝ์šฐ(์ฆ‰, echo $GOPATH์— ๊ฐ’์ด ํ‘œ์‹œ๋˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ) ๊ธฐ๋ณธ๊ฐ’์ด ํ—ˆ์šฉ ๊ฐ€๋Šฅํ•œ์ง€ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด ์ถ”๊ฐ€ ๊ฒ€์‚ฌ๊ฐ€ ์ˆ˜ํ–‰๋œ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

  • 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).

๋””์ž์ธ ์Šค์ผ€์น˜ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

  1. ์ด์ œ GOPATH๊ฐ€ 'go get' ์ค‘์—๋งŒ ์ƒ์„ฑ๋  ๊ฒƒ์ž„์„ ํ™•์ธํ–ˆ์œผ๋ฏ€๋กœ ๋‚˜๋จธ์ง€ 'go get -v' ๋™์ž‘๊ณผ ์ผ๊ด€๋˜๊ฒŒ -v ํ”Œ๋ž˜๊ทธ๊ฐ€ ์ œ๊ณต๋˜๋Š” ๊ฒฝ์šฐ์—๋งŒ ๋ฉ”์‹œ์ง€๋ฅผ ์ธ์‡„ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.
  2. ๋””๋ ‰ํ† ๋ฆฌ๊ฐ€ ์ƒ์„ฑ๋œ ๊ฒฝ์šฐ ๋ฉ”์‹œ์ง€๋Š” ์ตœ๋Œ€

# ์ƒ์„ฑ๋œ GOPATH=/users/campoy/go; gopath๋ฅผ ๋„์šฐ๋Ÿฌ ๊ฐ€์‹ญ์‹œ์˜ค'๋ฅผ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค

๊ฒฝ๊ณ ๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค. ๊ฒฝ๊ณ ๊ฐ€ ์ž˜๋ชป๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋ฐ˜๋ฉด์— ๋งŒ๋“ค๊ธฐ๊ฐ€ ์‹คํŒจํ•˜๋ฉด ์ธ์‡„ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

go: creating GOPATH=/users/campoy/go: %v

GOPATH๊ฐ€ ์œ ์ถ”๋˜๊ฑฐ๋‚˜ ๋ช…์‹œ์ ์œผ๋กœ ์„ค์ •๋˜์—ˆ๋Š”์ง€ ์—ฌ๋ถ€์— ๊ด€๊ณ„์—†์ด ๋‘ ๋ฉ”์‹œ์ง€๋ฅผ ๋ชจ๋‘ ์ธ์‡„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  1. ๋นˆ ๋””๋ ‰ํ„ฐ๋ฆฌ์™€ src ํ•˜์œ„ ๋””๋ ‰ํ„ฐ๋ฆฌ์— ๋Œ€ํ•œ ๊ฒฝํ—˜์  ๋ฐฉ๋ฒ•์€ ๋„ˆ๋ฌด ๋ณต์žกํ•ฉ๋‹ˆ๋‹ค. ์„ค์ƒ๊ฐ€์ƒ์œผ๋กœ ๊ทธ๋“ค์€ ๊ฐ€์„ค์ ์ธ ๋ฌธ์ œ๋ฅผ ๋‹ค๋ฃจ๊ณ  ์žˆ์œผ๋ฉฐ ๊ฐ€์„ค์€ ์„ค๊ณ„ํ•˜๊ธฐ๊ฐ€ ๋งค์šฐ ์–ด๋ ต์Šต๋‹ˆ๋‹ค. ๋” ๊ฐ„๋‹จํ•˜๊ณ  ์˜ˆ์ธก ๊ฐ€๋Šฅํ•œ ํ–‰๋™์„ ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. ๋จผ์ € ์‹ค์ œ ๋ฌธ์ œ์˜ ๊ตฌ์ฒด์ ์ธ ์˜ˆ๊ฐ€ ์žˆ์„ ๋•Œ๊นŒ์ง€ ๊ทœ์น™์„ ๋‘์ง€ ์•Š๋Š” ๊ฒƒ์ด ํ•ฉ๋ฆฌ์ ์ด๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ๋žŒ๋“ค์ด ๋ฒ ํƒ€ ๊ธฐ๊ฐ„ ๋™์•ˆ ๋ฌธ์ œ๋ฅผ ๋ณด๊ณ ํ•˜๊ณ  ํ›„๋ณด๋ฅผ ์ถœ์‹œํ•  ์‹œ๊ฐ„์ด ์žˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. GOPATH=$HOME/go๋ฅผ ์„ค์ •ํ•ฉ์‹œ๋‹ค($HOME์ด ์„ค์ •๋œ ๊ฒฝ์šฐ).

ํŽธ์ง‘: 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์— ์ด ๋ฌธ์ œ๊ฐ€ ์–ธ๊ธ‰๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰