무지개곰
article thumbnail
반응형

Go 언어를 공부하기 위하여 개발 환경을 준비하였습니다. 준비하며 발생한 문제와 해결 과정을 기록하겠습니다. 저의 Go 언어는 아래의 유튜브를 기반으로 공부하고 있습니다.

 

Tucker Programming

Tucker 의 프로그래밍 강좌 채널입니다. 질문은 댓글로 남겨주시면 답변 드리겠습니다.

www.youtube.com

목차

Go 개발 환경 준비

gopls 오류


Go 개발 환경 준비

1. vscode를 이용하여 개발할 것이기에 https://code.visualstudio.com/ 에서 최신 버전의 vscode를 다운로드합니다.

2. Go 언어에 필요한 패키지를 https://go.dev/ 에서 다운로드합니다.

3. Go에서 외부 패키지를 다운로드하기 위하여 https://git-scm.com/downloads/ 에서 git을 다운로드합니다.

위의 3가지에 대하여 설치가 완료되었다면 vscode에서 Go extenstion을 받아줍니다.

 Go extension이 설치되었다면 Go 도구를 업데이트해 줍니다.

F1을 눌러 위의 화면을 띄운 go tool을 입력합니다. 표시되는 항목을 모두 선택 후 OK를 누르고 업데이트를 기다립니다.


gopls 오류

위의 내용을 따라 하고 hello.go라는 파일을 만들어 아래와 같은 샘플 코드를 작성하니 gopls was not able to fing modules in your workspace.라는 오류가 발생하였습니다. 오류가 거슬리지 않으시다면 오류가 있어도 코드 실행에는 문제가 없다고 하니 참고 사용하셔도 됩니다.

package main

import "fmt"

func main() {
	fmt.Println("hello")
}

해결 방법

제가 찾은 몇 가지 해결 방법을 소개드리겠습니다.

1. Go extension을 제거합니다.

Go extension을 제거하면 문제가 발생하지 않습니다. Go extension이 제공하는 기능에 대하여 잘 모르지만 Go extension을 포기하면 빠르게 해결할 수 있습니다.

2. workspace를 변경합니다.

위의 오류는 바탕화면에 hello.go 파일을 생성하여서 생긴 문제입니다. 터미널 창을 열어서 go env를 입력하면 set 되어있는 여러 환경변수가 나옵니다. 그중 GOPATH를 찾아 GOPATH 폴더 안에서 hello.go 파일을 생성하면 문제가 발생하지 않습니다.

GOPATH의 값을 변경하면 go에 관련된 bin폴더와 pkg폴더를 찾아가는 PATH가 변경되어 제대로 기능을 하지 못할 수 있으니 추천드리지 않지만 "go env -w GOPATH=원하시는 경로"를 터미널 창에 입력하셔서 변경은 가능합니다.

3. go mod init

1.11 버전부터 도입된 모듈 시스템을 활용합니다. 1.16 버전부터 모듈 방식이 기본 옵션이 되어 1.17 버전부터 위에서 말씀드린 GOPATH를 사용하지 않고 모듈을 지원할 계획이라고 합니다.

go mod init 파일명

go 파일이 있는 폴더로 이동 후 위의 명령어를 입력하면 모듈이 생성됩니다.

반응형
profile

무지개곰

@무지개곰

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!