powershell 7.x vs powershell 5.x
By SeukWon Kang
방금 겪은 황당한(하지만 생각해보면 당연한 )일
build용으로 잘 실행되던 powershell script가 갑자기 문제를 일으킵니다.
결론만 말하면 linux, powershell 7.x에선 문제가 없는데 powershell 5.1에선
echo “package dataversion
const DataVersion = `"${Data_VERSION}`”
" > config/dataversion/dataversion_gen.go
식으로 파일을 생성하면 만들어진 파일이 build가 안됩니다.
이유를 찾아보니 powershell 5.x에서는 당연하게도 utf-8 이아닌 utf16le 파일을 생성하기 때문이고 golang은 당연히 입력으로 utf-8을 요구하니 컴파일 에러를 내는 거지요.
디렉토리 구분자로 \ 를 쓰는 것도 그렇고 표준 encoding으로 utf-16le 를 쓰는 것도 그렇고 이리저리 참 불편하게 하는 군요.
powershell 7.x 을 쓰다가 뭐 별차이 있겠어? 하고 7. x를 지우고 기본 설치된 5.x로 돌아 갔다가 겪은 일입니다.