golang workspace

동우김·2022년 12월 14일
0

고랭

목록 보기
1/1
post-thumbnail

튜토리얼 참고 : https://go.dev/doc/tutorial/workspaces

이 페이지에선, golang 1.18부터 지원하는 workspace의 간단한 사용법을 정리합니다. (짧게, 기록용으로)

왜 사용하나?

여러개의 프로젝트, 혹은 모듈들을 동시에 수정해가며 작업할 때, 각 폴더들이 들어가는 최상단 폴더에서 사용한다. go workspace에서

준비물

  • golang 1.18 이상
  • 터미널

사용 시나리오

  1. hello 라는 모듈의 개발을 위해, my-pkg 라는 별도의 모듈을 사용중이라고 하자.
    두 프로젝트는 별도의 git repository에 올라가있다.
vscode ➜ /workspaces $ tree -L 1
.
├── hello
└── my-pkg

2 directories, 0 files
  1. 특정 기능을 패키지에 넣고, 해당 기능을 hello 프로젝트에서 사용하는 상황일 때 (동시에 수정이 필요할 때)

  2. 매번 replcae를 사용하거나 번갈아 git push, get 하기가 귀찮을 때

사용하면 된다.

사용 명령어

Workspace 생성

최상단 디렉터리에서 다음 명령어를 실행한다.

vscode ➜ /workspaces $ go work init
vscode ➜ /workspaces $ tree -L 1
.
├── hello
├── go.work
└── my-pkg

2 directories, 1 file

workspace는 go.work에 정의되는데, 지금은 go가 어떤 버전으로 쓰였는지만 기술된 상태다.

vscode ➜ /workspaces $ cat go.work 
go 1.19

모듈 추가

my-pkg를 workspace에 추가한다.

vscode ➜ /workspaces $ go work use my-pkg/
vscode ➜ /workspaces $ cat go.work 
go 1.19

use ./my-pkg

이제 별도의 작업 없이, 로컬의 my-pkg 코드를 이용해 hello를 개발 할 수 있다.

profile
빈둥거리는 것에 관심이 많습니다

0개의 댓글