반응형
배경
go 에서 grpc를 사용하려 함.
기존 windows 에서도 사용 가능하긴한데... 기존 프로젝트가 macOS 기반으로 생성되어 있어서, 만들어진 룰을 따르려면... 리눅스 환경의 명령어가 필요함..
- 이미 구성된 환경에 따라 약간의 차이가 발생할 수 있음
필요 패키지 및 명령어
make, buf, brew, find 등
- homebrew 설치 방법
터미널에 아래 명령어 실행
- /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
구성 가이드
- 리눅스 명령어 사용가능한 환경 추천
- 방법 1 - WSL2 설치
방법 2 - 초콜라티 이용 ( 미테스트 )
- WSL2 사용방법
- WSL2 설치 완료
- WSL 설치 후 오류발생 가능성 높음 → BOIS 에서 CPU 가상화 설정 ON
참고 : https://gallery-k.tistory.com/311
WSL 사용방법 : https://tutorialpost.apptilus.com/code/posts/tools/windows-subsystem-linux/
go 설치 확인 ( 1.19 이상 ) - homebrew, make, buf 설치
더보기
- Golang 설치
- 사이트 : https://go.dev/dl/
- 설치 방법 : 터미널에 아래 명령어 실행 (윈도우는 위 사이트에서 다운로드 후 설치)
- $ brew install go
- 설치 확인
- $ go version go1.17.6 darwin/arm64
- Go 환경설정
- $ go env -w GOPRIVATE=gitlab.om
- buf 설치
- 설치 방법 : 터미널에 아래 명령어 실행
- $ brew install bufbuild/buf/buf
- 설치 확인
- $ buf --version 1.4.0
- grpc 패키지 설치
- $ go install github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-grpc-gateway@latest
- $ go install github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2@latest
- $ go install google.golang.org/protobuf/cmd/protoc-gen-go@latest
- $ go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@latest
- Golang 설치
- grpc 패키지 설치
-
더보기// 패키지가 잘 설치 안됬을때 ...
brew install bufbuild/buf/buf
go install \
github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-grpc-gateway@latest \ github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2@latest \ google.golang.org/protobuf/cmd/protoc-gen-go@latest \
google.golang.org/grpc/cmd/protoc-gen-go-grpc@latest - 위 설정후... go 위치와 grpc 설치한 위치(bin) 이 동일한지 확인
- 이후 grpc 동작 안할 경우 ( path 설정 )
- Run vim ~/.bash_profile
- Add:
- export GO_PATH=~/go export PATH=$PATH:/$GO_PATH/bin
- Run source ~/.bash_profile
- 참고 : https://stackoverflow.com/questions/57700860/error-protoc-gen-go-program-not-found-or-is-not-executable
7. makefile 변경 ( 이건 나만 해당 테스트일 경우 )
// from line3
find ./protos -name "*.pb.go" -exec sed -i "" 's/,omitempty//g' {} \;
// to line3
find ./protos -name "*.pb.go" -exec sed -i 's/,omitempty//g' {} \;
--- 트러블 슈팅
위에걸로 테스트해보다가...
sudo apt install protobuf-compiler
컴파일러를 설치했었다. 컴파일러가 이상하게 동작해서... 에러발생. 지우고 go path 설정하니 잘 설정됨
반응형
'Web > GoLang' 카테고리의 다른 글
[golang] invalid pseudo-version: preceding tag (v0.0.0) not found (0) | 2022.11.10 |
---|---|
[wsl, linux] sed: can't read : No such file or directory (0) | 2022.10.21 |
Golang: io.ReadWriter 의 content 를 날려먹지 않는 법 (1) | 2022.10.07 |
[golang] slack api 연동 bot 자동메시지 (1) | 2022.10.05 |
golang 디렉토리 구조 샘플 (0) | 2022.06.20 |
댓글