go 개발하면서 빡씨게하진않았고, 2년정도 적당히 사용했는데.. golang은 되도록 ,, 리눅스나 맥에서 사용하는게 좋은것 같다.
확실히 윈도우는 쓰기 불편하다는게 맞아보인다.
전반적으로 ... 개발은 뭐 리눅스 환경이 좋은건 당연한데, java 기준으로 봤을때 윈도우는 큰 차이가 없는데 go는 좀 개발하는데 불편한게 확실히 있었다.
이 글의 주제는 하나로 정하기가 힘들어서 사용시에 체크해야하는 상황을 기억하기 위해 남김다.
1. wsl 사용시, 윈도우에서 리눅스를 사용할수 있다. 리눅스 명령어를 쓸수있는 장점이 있다.
이 경우, go env 설정이 다 제각각이여서 테스트시에 고생했다.
윈도우에서 셋팅한 env 값이랑, wsl 에서 설정한 env 값이랑 데이터가 다르다.
이것때문에 wsl 에서는 서버가동이 안되는걸로 착각했다.
env를 두개다 잘 맞춰야한다.
2. makefile로 여러개의 서버를 한번에 구동하지 못한다.
내가 해야되는 상황이
A -> B -> C 서버를 순차적으로 가동해야 C가 돌아가는 상황으로 make 파일로 한번에 서버를 키고 싶었다.
get.dev:
go get ~~~~~~~~~~~~~@dev
go get ~~~~~~~~~~~~~~@dev
run.window: get.git get.dev
go mod tidy
go run cmd/server/main.go
get.git:
echo ------ start contents
git checkout dev
git pull
run.channel:
make -C ../channel run.window
위처럼 make run.window 하고, run.channel 도 연결해서 바로 다른 프로젝트의 make를 실행하려 했었다.
이런 흐름이 동작은 가능한데, 중간에 웹서버가 실행되면 나머지 명령어는 씹힌다.
즉 . go run main.go 를 하고 나면 뒤의 make 명령어는 실행이 안됨
3. 2번 이유 때문에 .bat 파일로 여러개의 서버를 가동하기로 했음
@echo off
start powershell.exe -NoExit -command "make -C C:\go_workspace\tracer run.window"
start powershell.exe -NoExit -command "make -C C:\go_workspace\meta run.window"
timeout 5
start powershell.exe -NoExit -command "make -C C:\go_workspace\operation run.window"
timeout 5
start powershell.exe -NoExit -command "make -C C:\go_workspace\channel run.window"
timeout 5
start powershell.exe -NoExit -command "make -C C:\go_workspace\content run.window"
요렇게
4. 파워쉘을 여러개 오픈해서 동작하는 방식으로 취했다.
- 다른 디렉토리에 있는 makefile 실행하는 방법
다른 디렉토리에 있는 makefile의 커맨드를 실행하고 싶을 때.
make -C {디렉토리} {target}
/home/richet/test라는 디렉토리에 Makefile이 있고, run을 실행시키려는 경우
/home/richet/test/Makefile
run:
echo haha
run.env:
echo ${ENV}
예 1) target run 실행
make -C /home/richet/test run
예 2) 환경변수 ENV = dev 넣어서 run.env실행
make -C /home/richet/test run.env ENV=dev
참고용
https://jusths.tistory.com/130
크로스 컴파일
'Web > GoLang' 카테고리의 다른 글
[gorm] many2many Association 관계 (0) | 2023.08.16 |
---|---|
[golang] errors.Is 재정의시 사용법 (0) | 2023.07.26 |
[Grpc ] grpc k8s kubernetes 관련 내용 (0) | 2023.01.30 |
Golang의 문자열에서 개행 문자를 제거하는 방법 \r\n \n (0) | 2023.01.10 |
[golang] goland 에서 makefile 동작하기 (0) | 2023.01.10 |
댓글