티스토리 뷰
개요
별 생각없이 go get -u 옵션을 사용해왔었는데 회사에서 사용하는 패키지를 이용한 개발을 하다 그 의미를 이해하게 되었다.
어떤 상황이었나?
go work를 이용해서 workspace 디렉토리 아래에 개발하는 애플리케이션과 패키지 디렉토리를 두고 개발한다. 이 경우 애플리케이션은 같은 workspace 아래의 패키지를 이용하기 때문에 패키지를 수정해가며 개발을 할 수 있다. 하지만, 이 경우 애플리케이션의 go.mod 에 명시한 패키지의 버전 정보가 맞지 않게 된다.
해법은 go get -u 옵션
이를 업데이트 시켜주려면
1. 패키지를 GitHub으로 git push 해 준 다음에
2. go get -u 옵션으로 다시 패키지를 가져오면 된다.
좀 더 정확히는 시멘틱 버저닝으로 보면 메이저 버전은 동일한 데 마이너, 패치 버전이 가장 최신인 패키지를 가져오는 것이다. 메이저 버전이 업데이트된 패키지는 호환이 되지 않기 때문이다.
공식 안내 참고
The -u flag instructs get to update modules providing dependencies of packages named on the command line to use newer minor or patch releases when available.
시간이 날 때에
go work를 사용해서 GitHub에 private repository로 관리하는 패키지와 함께 수정해가며 개발하는 프로세스 전반과 그 과정속 소소한 팁을 정리해보려 한다.
반응형
'golang' 카테고리의 다른 글
Golang: embed한 파일을 API 요청에 회신해주기 (0) | 2023.01.04 |
---|---|
Golang ORM - Bun 삽질 이야기 - timestamp 와 timestamptz (0) | 2022.12.18 |
Golang ORM - Bun 삽질 이야기 - Automatic timestamp (0) | 2022.12.10 |
Golang ORM - Bun 삽질 이야기 - Query building (0) | 2022.12.10 |
Golang ORM - Bun 삽질 이야기 - ScanAndCount (0) | 2022.12.09 |
반응형
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- 티스토리챌린지
- 노션
- Gin
- Bug
- ChatGPT
- 2023
- clean agile
- 독서
- github
- 엉클 밥
- notion
- 영화
- intellij
- golang
- API
- folklore
- 체호프
- 클린 애자일
- solid
- 독서후기
- strange
- go
- websocket
- bun
- 제이펍
- agile
- 오블완
- 잡학툰
- OpenAI
- 인텔리제이
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
글 보관함