본문 바로가기

리눅스

[draft] 우분투에 Go를 설치하는 방법

728x90

우분투에 Go를 설치하는 방법

패키지 매니저를 통한 설치

대부분의 리눅스 배포판은 패키지 매니저를 통해 Go를 설치할 수 있습니다.

 

  • Go 설치 패키지 업데이트
sudo apt-get update
  • Go 언어 패키지 설치
sudo apt-get install -y golang

소스 코드를 통한 설치

기존 Go 버전 제거

sudo apt-get remove golang-go
sudo apt-get remove --auto-remove golang-go

공식 Go 웹사이트에서 설치 파일 다운로드

  • Go 언어의 공식 웹사이트(go.dev)에서 다운로드 페이지로 이동합니다.
wget https://golang.org/dl/go1.15.linux-amd64.tar.gz

압축 해제

tar -C /usr/local -xzf go1.15.linux-amd64.tar.gz
728x90

환경 변수 설정

Go를 사용하기 위해서는 환경 변수를 설정해야 합니다. 환경 변수에 Go 바이너리가 있는 경로를 추가하면 됩니다.

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

go 환경 변수 등록

vim /etc/profile.d/go.sh
$ vim /etc/profile.d/go.sh
#!/bin/bash

export GOROOT=/usr/local/go
export GOPATH=$HOME/go
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
#export PATH=$PATH:/usr/local/go/bin

이 명령어를 실행한 후에는 터미널을 재시작하거나 "source" 명령어를 사용하여 변경된 환경 변수를 적용해야 합니다.

source /etc/profile.d/go.sh

(또는)

echo 명령어를 사용하여 환경 변수를 설정합니다.

  • .bashrc 파일에 추가하여 영구적으로 환경 변수를 설정합니다.
echo 'export GOPATH="$HOME/go"' >> ~/.bashrc
echo 'export PATH="$PATH:$GOPATH/bin"' >> ~/.bashrc

.bashrc 파일을 다시 로드합니다.

source ~/.bashrc

Go 버전 확인

  • 설치가 완료되면 go version 명령어를 사용하여 Go 버전을 확인할 수 있습니다.
go version

작업 공간 설정

Go 작업 공간을 설정하기 위해 GOPATH 환경 변수를 설정할 수 있습니다. 기본적으로 Go는 ~/go 디렉토리를 사용합니다.

~/.profile 또는 ~/.bashrc 파일에 다음을 추가합니다.

echo "export GOPATH=\$HOME/go" >> ~/.profile
echo "export PATH=\$PATH:\$GOPATH/bin" >> ~/.profile
source ~/.profile

(또는)

echo "export GOPATH=\$HOME/go" >> ~/.bashrc
echo "export PATH=\$PATH:\$GOPATH/bin" >> ~/.bashrc
source ~/.bashrc

Go 설치 확인 및 테스트

Go가 제대로 설치되었는지 확인하기 위해 간단한 Go 프로그램을 작성합니다.

 

1. Go 작업 디렉토리를 생성합니다.

mkdir -p ~/go/src/hello
cd ~/go/src/hello

2. hello.go 파일을 생성하고 편집합니다.

vim hello.go

3. 다음 내용을 파일에 입력합니다.

package main

import "fmt"

func main() {
    fmt.Println("Hello, World!")
}

4. 프로그램을 빌드하고 실행합니다.

go build
./hello

Hello, World!"가 출력되면 Go가 성공적으로 설치되고 실행되는 것입니다.

 

Go 프로젝트를 시작하거나 Go 관련 개발 작업을 진행할 수 있습니다.

 

참고URL

- https://golang.org/doc/install

- https://golang.org/dl/

 

728x90