가장 빨리 만나는 Go 언어 Unit 3. 기본 디렉터리 설정하기

저작권 안내
  • 책 또는 웹사이트의 내용을 복제하여 다른 곳에 게시하는 것을 금지합니다.
  • 책 또는 웹사이트의 내용을 발췌, 요약하여 강의 자료, 발표 자료, 블로그 포스팅 등으로 만드는 것을 금지합니다.

기본 디렉터리 설정하기

이재홍 http://www.pyrasis.com 2014.12.17 ~ 2015.02.07

Go 언어는 모든 부분이 패키지로 구성되어 있고, 인터넷에 있는 소스 코드를 받아와서 바로 사용하기 때문에 기준 디렉터리가 필요합니다.

다음과 같이 hello_project 디렉터리를 예로 들면 hello_project 아래에 bin, pkg, src 디렉터리가 들어있습니다.

  • bin: 소스 파일(패키지)를 컴파일하여 실행 파일(바이너리)이 생성되는 디렉터리입니다.
  • pkg: 패키지를 컴파일하여 라이브러리 파일이 생성되는 디렉터리입니다. pkg 디렉터리 아래에는 <운영체제>_<아키텍쳐> 형식으로 디렉터리가 생성됩니다. 64비트 리눅스라면 linux_amd64 디렉터리 아래에 라이브러리 파일이 생성됩니다.
  • src: 내가 작성한 소스 파일과 인터넷에서 자동으로 받아온 소스 파일이 저장되는 디렉터리입니다.

그림 3-1 Go 언어 기본 디렉터리 구조

환경 변수의 GOPATH에 bin, pkg, src 디렉터리가 들어있는 경로(hello_project)를 설정합니다.

리눅스, Mac OS X
~$ export GOPATH=/home/pyrasis/hello_project

Windows에서는 제어판 → 시스템 및 보안 → 시스템 → 고급 시스템 설정 → 고급 → 환경 변수에 GOPATH를 추가한 뒤 경로를 설정합니다.

그림 3-2 Windows 환경 변수에 GOPATH 추가

다음과 같이 go env 명령을 실행하면 현재 설정된 GOPATH를 확인할 수 있습니다.

~$ go env
GOARCH="amd64"
GOBIN=""
GOCHAR="6"
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/home/pyrasis/hello_project"
GORACE=""
GOROOT="/usr/local/go"
GOTOOLDIR="/usr/local/go/pkg/tool/linux_amd64"
CC="gcc"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0"
CXX="g++"
CGO_ENABLED="1"

이렇게 설정된 뒤에는 인터넷에서 소스 코드를 받아와서 저장하거나, 패키지를 컴파일하여 라이브러리 파일이 생성될 때 GOPATH에 설정된 경로를 기준으로 합니다. 또 다른 프로젝트를 시작할 때는 GOPATH를 해당 프로젝트 경로로 바꿔주면 됩니다.

GOPATH
GOPATH는 일종의 작업 공간(workspace)입니다. 따라서 프로젝트가 여러 개인 상황에서 다른 프로젝트를 작업해야 할 때마다 GOPATH를 바꿔주어야 합니다.


저작권 안내

이 웹사이트에 게시된 모든 글의 무단 복제 및 도용을 금지합니다.
  • 블로그, 게시판 등에 퍼가는 것을 금지합니다.
  • 비공개 포스트에 퍼가는 것을 금지합니다.
  • 글 내용, 그림을 발췌 및 요약하는 것을 금지합니다.
  • 링크 및 SNS 공유는 허용합니다.

Published

2015-06-01