인프런 커뮤니티 질문&답변

건태님의 프로필 이미지

작성한 질문수

[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스

14-04 Redis

docker 실행시에 에러발생 질문드립니다!

해결된 질문

작성

·

309

0

 위에 이미지처럼 에러가 계속 발생하는데 원인을 모르겠습니다 ㅠ..ㅠ

답변 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

건태님의 프로필 이미지
건태
질문자

아 docker에서 바꾸시면 다시 빌드하실때 복구되니까 파일안에 node_module에서 같은 위치로 들어가셔서 ?? 표시 되어있는거 지우시면 됩니다!

0

건태님의 프로필 이미지
건태
질문자

저기 나오는 에러 메시지 하나하나 docker파일 들어가서 ???표시 지웠더니 해결됐습니다;; 혹시 저랑 같은 증상이신분들은 docker에서 직접 들어가셔서 하나씩 지우시면 해결되실겁니다. 편한 방법 아시는분은 공유해주시면 감사드리겠습니다!

건태님의 프로필 이미지

작성한 질문수

질문하기