본문으로 바로가기

[GoLang] Go 설치하기 (리눅스/윈도우)

category Language/Go 2019. 8. 1. 19:59

Go를 설치해봅시다.

리눅스와 윈도우 환경에 대해 설명합니다.

(제가 지금 맥북이 없어서 맥은 없습니다 ㅇㅅㅇ)

리눅스 환경

저는 Ubuntu 18.04 LTS 환경에서 진행하였습니다.

 

데비안/우분투

sudo apt-get install golang

CentOS/레드햇

sudo yum install golang

 

과 같은 명령어로 설치가 가능합니다. 

apt install
Go 설치

***일반적인 apt를 이용하면 go 10 버전이 깔립니다. 11이상의 버전이 필요한 경우 직접 설치해야합니다. ***

...더보기

직접설치

https://golang.org/dl/ 에서 tar.gz파일을 다운받습니다.

wget으로 가능한지는 모르겠네요

Go Download

다운받고 파일이 있는 디렉토리로 이동한 후
sudo tar -C /usr/local/ -xzf go버전.linux-amd64.tar.gz

그냥 탭을 눌러서 파일 이름 자동완성 시키는것을 추천합니다..

Path 설정을 해봅시다. /etc/profile.d/에 쉘스크립트를 (golang.sh) 만듭니다.
sudo vi /etc/profile.d/golang.sh

export GOROOT=/usr/local/go
export PATH=$PATH:/$GOROOT/bin

 

GOPATH를 설정합시다.

원하는 위치에서 작업하시면 됩니다.

저는 ~/projects/go 에서 작업공간을 잡겠습니다.

mkdir -p ~/projects/go

cd ~/projects/go

일단 디렉토리를 만들고

export GOPATH=$HOME/projects/go

를 쳐줍시다.

 

/etc/profile도 수정해줍시다.

sudo vi /etc/profile

로 들어가서 마지막 줄에

export PATH=usr/local/go/bin:$PATH

export GOPATH=$HOME/projects/go

export $PATH:$GOPATH/bin

 

을 추가해줍시다.

 

별도의 경로에 패키지 설치한 경우(GOROOT 설정)

tar.gz파일을 받아 압축을 푼 경우(ex. 관리자권한x 홈디렉토리에 설치한 경우, 64비트 우분투, go 1.12.7버전)

 

tar -C $HOME -xzf go1.12.7.linux-amd64.tar.gz

 

과 같이 설치 가능합니다.

만약 패키지를 통해 직접 설치했거나 /usr/local/go 경로가 아닌곳에 설치했다면 GOROOT를 설정해주어야합니다.

 

예를들어  홈디렉토리의 go라는 디렉토리를 만들어 설치했다면

 

export GOROOT=$HOME/go

 

etc/profile에 아래를 추가해줍니다.

export PATH=$HOME/go/bin:$PATH

 

를 이용하여 GOROOT와 bin(실행파일)의 경로들을 지정해줍시다. 이후 GOPATH를 지정해주면 됩니다.

(sudo 권한으로 $HOME 대신 /usr/local 에 설치하면 패키지 관리자로 설치한 것과 차이가 없으니 goroot설정이 필요 없습니다. )

 

go env

를 통해서 goroot, gopath, gobin 등의 위치를 확인해봅시다.

저는 goroot가 /usr/local/go 가아닌 /usr/lib/go 로 되어있네요 저기에 설치되었나 봅니다.

 

 

윈도우 환경

윈도우는 GUI인스톨러를 이용하기 때문에 간단합니다.

https://golang.org/dl/ 로 이동하면

여러가지 다운로드 링크 들이 나타납니다.

여기서 Go 설치 글을 읽고 계신 분들이라면 보통 

자기 컴퓨터가 몇 비트 운영체제인지는 다들 알고 프로그램 설치도 여러번 해봤을거라고 생각되니

자세한것은 생략합니다.

 

큰 이변이 없다면 C:\Go에 설치될것입니다.

Go 윈도우 환경 설치

만약 다른곳에 설치했는데 cmd에서 go 를 입력했을때 위와같이 나오지 않는다면 

환경변수에서 설정을 해주어야 합니다.

 

윈도우10 기준으로

제어판 -> 시스템 및 보안 -> 시스템 -> 고급 시스템 설정 -> 환경변수 -> 시스템 변수

의 PATH에

%USERPROFILE%\go\bin

을 추가해주시면 됩니다.

 

GOPATH 환경변수는 workspace위치를 지정해줍니다.

개발될 go나 외부 라이브러리들을 깃허브에서 가져올때 저장될 위치입니다.

 

저는 D드라이브에 project\go 에 설정하겠습니다.

GOPATH 환경변수 설정

(저는 다른 계정을 따로 사용하지 않아서 그냥 바로 사용자 변수에 추가했습니다.)

 

 

============================================================

자 여기서 부터는 윈도우와 리눅스 동일합니다.

적당히 go 파일을 만듭시다. 

파일 이름은 hello.go 이고

내용은

1
2
3
4
5
6
7
package main
 
import "fmt"
 
func main() {
  fmt.Println("Hello, World")
}
cs

입니다.

 

이제 쉘이나 cmd(powershell)에서 

 

go run hello.go

 

를 입력하면 

Hello, World ~

 

go는 제대로 동작하네요 이제 gopath를 확인해봅시다.

 

go get golang.org/x/tools/cmd/...

(.(온점) 3개 입니다.)

뭔가가 일어났나???

일단 뭔가 실행되는듯 하더니 아무일도 없네요

gopath로 가보죠

?!! 뭔가 생겼습니다.

gopath로 가보니 뭔가 잔뜩 생겨있네요.

 

위 명령어는 go get을 이용하여 외무의 패키지를 로컬 컴퓨터로 불러와 설치하는 명령어입니다.

리눅스에서는

처럼 진행됩니다.

 

 

마지막으로

go get golang.org/x/tools/cmd/goimports

를 쳐주면 일단 설치과정이 끝납니다.

(이 패키지는 자동으로 import경로를 추론해 소스 상단에 붙여주는 도구입니다.)

 

여기가지 Go를 설치해보았습니다.

GOPATH 때문에 뭔가 복잡해보이네요

 

 

 

공부를 위해 정리하고 있는것이기 때문에 오류가 있으면 댓글로 알려주세요

'Language > Go' 카테고리의 다른 글

[GoLang] 연산자  (0) 2019.08.08
[GoLang] 자료형, 변수, 상수  (0) 2019.08.04
[GoLang] Go 개발 환경 구축하기 (VS Code, vim)  (0) 2019.08.01
[GoLang] Hello, playground  (0) 2019.08.01
[GoLang] Go를 시작하며  (0) 2019.08.01