
Go 개발 시작부터 막히는 분들을 위한 첫걸음
설레는 마음으로 Go 프로그래밍을 시작하려고 터미널을 열었는데, “go: command not found”라는 빨간 글씨를 마주하면 정말 당황스러워요. 분명히 공식 홈페이지에서 파일을 다운로드해서 설치 버튼까지 눌렀는데, 왜 컴퓨터는 Go가 어디 있는지 모른다고 하는 걸까요? 이런 상황은 Go를 처음 접하는 입문 개발자라면 누구나 한 번쯤 겪게 되는 아주 흔한 일이에요.
단순히 설치 파일 하나 실행한다고 해서 모든 준비가 끝나는 것은 아니에요. 운영체제가 Go의 위치를 알 수 있도록 환경 변수를 설정해줘야 하고, 사용하는 코드 에디터가 Go 언어를 이해할 수 있도록 별도의 도구들을 연결해줘야 하거든요. 이 과정을 제대로 거치지 않으면 코드를 작성하더라도 실행조차 할 수 없는 답답한 상황이 계속될 수밖에 없어요.
이 글은 단순히 설치 방법을 나열하는 가이드가 아니에요. 설치 과정에서 발생하는 Go 개발환경 트러블슈팅의 핵심 원인을 파헤치고, 여러분의 컴퓨터 환경에 맞춰 문제를 즉시 해결할 수 있도록 실전적인 해결책을 제안하려고 해요. 환경 설정 때문에 낭비되는 시간을 줄이고, 바로 프로그래밍에 집중할 수 있는 환경을 만들어 드릴게요.
오늘 이 글을 끝까지 읽고 나면 다음과 같은 문제들을 스스로 해결할 수 있어요.
- 설치 후 명령어가 인식되지 않는 경로 문제 해결하기
- GOROOT와 GOPATH의 차이점을 이해하고 올바르게 설정하기
- VS Code와 같은 에디터에서 Go 자동 완성 기능 활성화하기
- Go Modules를 이용한 프로젝트 관리 오류 바로잡기
설치 전 반드시 체크해야 할 기본 사항
문제를 해결하기 전에 먼저 현재 여러분의 환경이 어떤 상태인지 객관적으로 점검하는 과정이 필요해요. 무턱대고 설정 파일을 수정하다가는 오히려 시스템의 다른 설정까지 꼬여버릴 수 있거든요. 먼저 자신의 운영체제와 CPU 아키텍처가 무엇인지 정확히 파악해야 해요. 최근에 출시된 Apple Silicon(M1, M2, M3 등) 맥북을 사용하는지, 아니면 전통적인 Intel 기반의 PC나 Windows를 사용하는지에 따라 설치 파일 자체가 완전히 다르기 때문이에요.
또한 Go 버전을 선택할 때도 주의가 필요해요. 최신 기능을 사용하고 싶다면 가장 높은 버전을 선택하는 것이 좋지만, 특정 프로젝트나 라이브러리가 구버전의 문법을 요구하는 특수한 경우에는 버전을 맞춰줘야 할 수도 있어요. 하지만 일반적인 입문 단계라면 항상 최신 안정 버전을 사용하는 것을 권장해요.
가장 중요한 것은 운영체제별로 관리하는 경로 방식이 다르다는 점을 이해하는 것이에요. 아래 표를 통해 여러분이 현재 사용 중인 환경에 따라 어떤 준비가 필요한지 한눈에 비교해 보세요.
| 구분 | Windows | macOS | Linux |
|---|---|---|---|
| 주요 설치 방식 | MSI 설치 파일 실행 | PKG 파일 또는 Homebrew | 패키지 관리자(apt, yum) |
| 환경 변수 설정 위치 | 시스템 환경 변수 편집 | ~/.zshrc 또는 ~/.bash_profile | ~/.bashrc 또는 /etc/profile |
| 터미널 활용도 | PowerShell/CMD 권장 | Zsh/Bash 기본 사용 | Bash 기본 사용 |
준비가 되었다면 이제 본격적으로 설치 과정을 진행할 텐데, 이때 관리자 권한이 필요할 수 있다는 점을 기억해 두세요. 특히 Linux나 macOS 환경에서는 시스템 폴더에 파일을 써야 하므로 `sudo` 명령어를 사용하거나 관리자 계정으로 로그인해야 하는 상황이 자주 발생해요. 환경 변수를 설정할 때도 단순히 텍스트를 입력하는 것이 아니라, 현재 사용 중인 쉘(Shell)이 무엇인지 확인하는 습선이 필요해요.
최근 Go 버전(1.11 이후)에서는 과거에 필수적이었던 `GOPATH` 설정의 의존도가 매우 낮아졌어요. 하지만 여전히 외부 라이브러리가 저장되는 위치를 관리하기 위해서는 `GOPATH` 개념을 알고 있는 것이 큰 도움이 돼요.
단계별 Go 개발환경 완벽 구축하기
이제 본격적으로 Go 개발 환경을 만들어 볼게요. 이 과정은 단순히 설치를 마치는 것이 아니라, 나중에 발생할 에러를 미리 방지하는 안정적인 구축을 목표로 해요. 다음의 5가지 단계를 차근차근 따라와 주세요.
STEP 1. 운영체제별 최적의 설치 방법 선택하기
먼저 Go 공식 홈페이지(go.dev)에 접속해서 자신의 운영체제에 맞는 설치 파일을 내려받아야 해요. 하지만 각 운영체제마다 가장 권장되는 방식은 조금씩 달라요.
Windows 사용자라면 공식 홈페이지에서 제공하는 `.msi` 파일을 내려받아 실행하는 것이 가장 편해요. 설치 마법사가 알아서 설치 경로를 지정하고 기본적인 환경 변수까지 설정해 주기 때문이죠. 설치가 끝난 후에는 반드시 명령 프롬프트(CMD)나 PowerShell을 새로 열어서 `go version`을 입력해 보세요. 만약 명령어가 먹히지 않는다면 설치 프로그램이 경로를 제대로 등록하지 못한 것이니 환경 변수를 수동으로 만져줘야 해요.
macOS 사용자는 두 가지 방법이 있어요. 설치 파일(.pkg)을 이용하는 방법과 `Homebrew`라는 패키지 관리자를 이용하는 방법이죠. 저는 개인적으로 Homebrew를 사용하는 것을 강력하게 추천해요. 터미널에서 `brew install go` 한 줄이면 설치부터 업데이트까지 아주 간편하게 관리할 수 있거든요. 특히 M1 이상의 맥북을 사용한다면 아키텍처(ARM64)에 맞는 설치가 중요한데, Homebrew는 이를 아주 영리하게 처리해 줘요.
Linux 사용자라면 사용하는 배포판에 따라 `apt`나 `yum`을 사용할 수 있지만, 가장 최신 버전을 사용하는 가장 확실한 방법은 공식 홈페이지의 `.tar.gz` 압축 파일을 내려받아 `/usr/local` 디렉토리에 직접 풀어주는 것이에요. 이 과정에서는 반드시 `sudo` 권한이 필요하다는 점을 잊지 마세요.
STEP 2. 환경 변수(PATH) 완벽하게 제어하기
설치를 마쳤는데도 `go` 명령어가 동작하지 않는다면 99%는 PATH 환경 변수 문제입니다. PATH란 컴퓨터가 터미널에서 명령어를 입력받았을 때, 그 실행 파일이 어디에 있는지 찾아보는 ‘지도’와 같아요. 이 지도에 Go가 설치된 폴더가 등록되어 있지 않으면 컴퓨터는 Go를 찾지 못해요.
먼저 Go가 어디에 설치되었는지 확인해야 해요. 보통 Windows는 `C:\Go`, macOS나 Linux는 `/usr/local/go`에 위치해요. 이제 이 경로를 시스템의 PATH에 추가해야 합니다.
- Windows: ‘시스템 환경 변수 편집’ 메뉴를 검색해 들어간 뒤, ‘환경 변수’ 버튼을 누르세요. ‘시스템 변数’ 항목 중 `Path`를 찾아 편집을 누르고, `C:\Go\bin` 경로를 새롭게 추가해 주세요.
- macOS/Linux: 사용 중인 쉘의 설정 파일(예: `~/.zshrc`)을 열고 아래와 같은 코드를 한 줄 추가해 주세요.
`export PATH=$PATH:/usr/local/go/bin`
그 후 `source ~/.zshrc` 명령어를 입력해 설정을 바로 적용해야 해요.
추가로 GOROOT는 Go 언어 자체의 설치 경로를 의미하고, GOPATH는 여러분이 작업할 프로젝트와 내려받은 라이브러리들이 저장되는 작업 공간을 의미해요. 최신 버전에서는 `GOROOT`를 직접 설정할 필요는 거의 없지만, `GOPATH`는 나중에 라이브러리 관리 시 중요하게 쓰일 수 있으니 미리 개념을 잡아두세요.
STEP 3. VS Code와 Go 확장 프로그램 연결하기
이제 코드를 작성할 도구를 준비할 차례예요. 현대적인 Go 개발에서 가장 많이 쓰이는 도구는 단연 Visual Studio Code(VS Code)예요. 하지만 VS Code만 설치한다고 해서 바로 Go 개발을 할 수 있는 것은 아니에요. VS Code가 Go 언어의 문법을 이해하고, 자동 완성을 제공하며, 에러를 실시간으로 잡아낼 수 있도록 ‘Go 확장 프로그램’을 반드시 설치해야 해요.
먼저 VS Code의 확장 프로그램 마켓플레이스에서 ‘Go’를 검색하여 Google에서 만든 공식 확장 프로그램을 설치하세요. 설치가 완료되면 오른쪽 하단에 Go Language Server(gopls)를 설치하라는 알림이 뜰 거예요. 이때 반드시 ‘Install All’을 눌러서 필요한 도구들을 모두 내려받아야 해요. 이 도구들이 없으면 코드 작성 중에 자동 완성이 되지 않거나, 변수 타입이 틀렸을 때 빨간 줄이 뜨지 않는 불편함을 겪게 돼요.
STEP 4. Go Modules를 이용한 프로젝트 구조 잡기
과거에는 모든 프로젝트를 반드시 특정 폴더(`GOPATH/src`) 안에 만들어야 했지만, 지금은 Go Modules 덕분에 컴퓨터 어디에서나 프로젝트를 만들 수 있어요. 이 방식이 현재의 표준이며, 트러블슈팅을 피하기 위해서도 반드시 익혀야 해요.
프로젝트를 시작할 때는 터미널에서 새 폴더를 만들고 그 안으로 들어간 뒤, 다음 명령어를 입력하세요.
go mod init my-project-name
이 명령어를 실행하면 폴더 안에 `go.mod`라는 파일이 생성돼요. 이 파일은 여러분의 프로젝트가 어떤 외부 라이브러리를 사용하는지, 어떤 버전의 Go를 사용하는지 기록하는 명세서 역할을 해요. 만약 프로젝트를 실행했는데 “go.mod file not found”라는 에러가 뜬다면, 해당 폴더에서 `go mod init`을 실행하지 않았기 때문이에요.
STEP 5. 첫 번째 코드 실행으로 최종 검증하기
모든 설정이 끝났다면 이제 실제로 작동하는지 확인해 볼 시간이에요. 간단한 ‘Hello, World!’ 프로그램을 만들어 봅시다. `main.go`라는 파일을 만들고 아래 코드를 작성해 보세요.
package main
import "fmt"
func main() {
fmt.Println("Go 환경 설정 완료!")
}
파일을 저장한 뒤 터미널에서 `go run main.go`를 입력했을 때, 화면에
자주 하는 실수와 해결법 + FAQ
설치 과정은 순탄해 보여도 막상 실전에 들어가면 예상치 못한 에러들이 발목을 잡곤 해요. 입문자들이 가장 많이 겪는 실수들을 유형별로 정리했으니, 여러분의 상황과 비교해 보세요.
자주 하는 실수와 해결법
❌ 실수: 터미널에 go를 입력했는데 “command not found”라고 떠요.
👉 원인: Go 설치 경로나 실행 파일 폴더가 시스템의 PATH 환경 변수에 등록되지 않았기 때문이에요.
✅ 해결법: 운영체제별 설정 방법을 참고해 Go의 `bin` 폴더 경로를 PATH에 추가하고, 반드시 터미널을 완전히 껐다가 다시 켜세요.
❌ 실수: VS Code에서 코드 자동 완성이 전혀 안 돼요.
👉 원인: Go 확장 프로그램은 설치했지만, 내부적으로 필요한 도구(gopls 등)를 설치하지 않았을 가능성이 커요.
✅ 해결법: VS Code에서 `Ctrl+Shift+P`(macOS는 `Cmd+Shift+P`)를 누르고 Go: Install/Update Tools를 선택한 뒤 모든 항목을 체크하고 설치를 진행하세요.
❌ 실수: 외부 라이브러리를 가져오려는데 에러가 나요.
👉 원인: Go Modules 시스템을 사용하지 않거나 `go.mod` 파일이 없어서 프로젝트 범위를 인식하지 못하는 상태예요.
✅ 해결법: 프로젝트 루트 폴더에서 `go mod init [모듈명]`을 실행하여 `go.mod` 파일을 먼저 생성하세요.
❌ 실수: 패키지를 내려받을 때 네트워크 오류가 발생해요.
👉 원인: 특정 네트워크 환경(회사, 학교 등)에서 Go의 기본 모듈 서버에 접속이 차단되었을 수 있어요.
✅ 해결법: 환경 변수에 프록시 서버를 설정해 보세요. 터미널에 `go env -w GOPROXY=https://proxy.golang.org,direct`를 입력하면 도움이 돼요.
❌ 실수: GOROOT와 GOPATH를 똑같은 경로로 설정했어요.
👉 원인: 두 개념의 차이를 혼동하여 설정 오류를 범한 경우예요.
✅ 해결법: `GOROOT`는 Go 설치 폴더로, `GOPATH`는 여러분의 작업 폴더로 엄격히 분리해야 해요. 혼용하면 심각한 경로 충돌이 발생해요.
자주 묻는 질문
Q. Go를 업데이트하려면 어떻게 해야 하나요?
Windows는 새 버전을 다시 설치하면 되고, macOS는 Homebrew를 사용 중이라면 `brew upgrade go` 명령어를 사용하면 아주 간단해요.
Q. Go를 사용하기 위해 꼭 VS Code를 써야 하나요?
아니요, Vim, Emacs, JetBrains의 GoLand 등 다양한 에디터를 사용할 수 있어요. 다만 입문자에게는 설정이 편한 VS Code를 추천해요.
Q. 프로젝트 폴더 이름을 어떻게 지어야 할까요?
가급적 영어 소문자와 하이픈(-)을 사용하는 것이 좋아요. 공백이나 특수문자가 섞이면 터미널 명령어를 실행할 때 에러를 유발할 수 있거든요.
Q. Go Modules 없이 예전 방식으로 개발할 수는 없나요?
가능은 하지만 권장하지 않아요. 최신 라이브러리들은 대부분 Go Modules를 기준으로 설계되어 있어, 예전 방식을 고집하면 오히려 더 많은 에러를 마주하게 될 거예요.
Q. 맥북 M1/M2인데 Intel용 버전을 설치해도 되나요?
작동은 할 수 있지만 성능 저하가 심하고 Rosetta 2를 거쳐야 하므로 반드시 ARM64(Apple Silicon) 버전을 설치하세요.
성공적인 Go 개발을 위한 마무리
지금까지 Go 설치부터 환경 설정, 그리고 흔히 발생하는 문제들을 해결하는 방법까지 모두 살펴보았어요. 처음에는 환경 변수니 모듈이니 하는 용어들이 낯설고 어렵게 느껴질 수 있지만, 한 번 제대로 잡아두면 앞으로의 개발 인생이 훨씬 편안해질 거예요. 고생 많으셨어요!
- 설치 후 `go version` 명령어로 설치 성공 여부를 반드시 확인하세요.
- 경로 에러 발생 시 운영체제별 PATH 환경 변수를 최우선으로 점검하세요.
- VS Code 사용 시 Go 확장 프로그램의 도구(Tools)를 모두 설치해야 합니다.
- 프로젝트 시작 시에는 반드시 `go mod init`으로 모듈을 초기화하세요.
- 문제가 생기면 `go env` 명령어로 현재 설정된 환경 변수 값들을 먼저 확인하세요.
이제 여러분은 코드를 작성할 준비가 완벽하게 끝났어요. 처음부터 완벽할 필요는 없어요. 코드를 짜다가 막히는 부분이 생기면 언제든 검색하고, 다시 시도해 보세요. 그 과정 자체가 여러분을 훌륭한 개발자로 만들어 줄 거예요.
오늘 바로 해야 할 일: 간단한 Hello World 코드를 작성하고 터미널에서 직접 실행해 보세요.
이번 주 할 일: Go의 기초 문법을 공부하며 작은 CLI 도구를 하나 만들어 보세요.
실행 직전 할 일: 사용 중인 에디터의 Go 관련 확장 프로그램이 최신 상태인지 확인하세요.
혹시 설정을 진행하다가 도저히 풀리지 않는 에러 메시지를 만났다면, 주저하지 말고 아래 댓글로 질문을 남겨 주세요. 여러분이 겪고 있는 상황을 자세히 적어 주시면 함께 고민하고 답변해 드릴게요!
함께 읽으면 좋은 글: Go 설치와 환경 설정 완벽 가이드