해결된 질문
작성
·
309
답변 3
0
안녕하세요! 건태님!
해당 에러메시지를 확인해 보니 '??=' 부분에 에러가 있음을 확인할 수 있네요!
에러 발생 위치를 보니, node_modules/@nestjs/common/file-stream/streamable-file.js의 31번째 줄에서 에러가 발생한 것 같아요!
다시 말해, 우리가 다운로드 받은 @nestjs 버전이 업데이트가 되면서 해당 소스코드 31번째 줄에 '??=' 코드가 추가된 것 같아요!
해당 에러메시지를 이해하기위해 잠시만 아래를 읽어주세요!
'??=' 는 널리쉬 코알레싱 이라고 부르는 연산자예요!
let aaa = null
aaa = aaa ?? "철수" // aaa가 null 또는 undefined와 같이 비어있으면 철수를 넣어주고,
// aaa가 비어있지 않으면 aaa를 넣어줘!
여기서 위 코드를 축약하는 방법은 아래와 같습니다
let aaa = null
aaa ??= "철수"
그런데, 이것이 왜 문제가 되냐면 해당 문법은 비교적 최신 문법으로 구버전의 nodejs에서는 작동하지 않습니다!
따라서, 도커내의 node 버전을 16버전 또는 18버전 등의 최신버전(정확히는 15버전 이상)으로 높여주시는게 좋을 것 같아요!^^
0
0
저기 나오는 에러 메시지 하나하나 docker파일 들어가서 ???표시 지웠더니 해결됐습니다;; 혹시 저랑 같은 증상이신분들은 docker에서 직접 들어가셔서 하나씩 지우시면 해결되실겁니다. 편한 방법 아시는분은 공유해주시면 감사드리겠습니다!
단순 문제점 해결이 아니라 원인에 대한 이해까지 정말 감사드립니다!