Publish:

태그: , , ,

카테고리:

에러가 났다.

오랜만에 프로젝트 새로 만들고 npm 패키징을 하려는데 간만에 npm 최신 버전으로 업데이트하라는 문구가 떴다.

New major version of npm available! 9.8.0 -> 10.2.0


Cmd S


최근까지 AWS EC2에서 이 문구를 볼 때면 그저 치라는 대로 npm i -g ~~ 이렇게 치거나 그게 안 되면 앞에 sudo를 붙여서 치면 다 해결됐는데, 이상하게 먹히지 않았다.


1
2
3
4
5
6
npm ERR! code EBADENGINE
npm ERR! engine Unsupported engine
npm ERR! engine Not compatible with your version of node/npm: npm@10.2.0
npm ERR! notsup Not compatible with your version of node/npm: npm@10.2.0
npm ERR! notsup Required: {"node":"^18.17.0 || >=20.5.0"}
npm ERR! notsup Actual:   {"npm":"9.8.0","node":"v18.16.0"}


스크린샷


해결법

처음엔 에러를 읽어볼 생각도 안 하고 그냥 sudo를 앞에 붙여서 비밀번호까지 입력했는데 똑같은 에러가 반복될 뿐이었다.
대체 왜?
그래서 찬찬히 다시 보니, node 버전18.17.0 이상은 되어야 했던 것이다…!


그래서 바로 nvm을 이용하여 노드를 lts 버전으로 바꾸고, 다시 실행했더니 문제없이 업데이트됐다…

1
2
3
4
5
npm install -g n //* nvm을 쉽게 활용하기 위해 n 설치
sudo n lts //* lts 버전의 node 설치

node -v //* node 버전 확인 >> 18.18.2
sudo npm install -g npm@10.2.0 //* npm 버전 업데이트


이때 주의해야 할 점은 node lts 버전을 깔거나 npm i -g 를 할 때는 sudo를 앞에 붙여야 정상동작을 한다는 것이다!

기타 - 한마디

그렇게 많이 코딩했으면서 이거 세팅 하나에 허우적거렸다는 사실이 조금 부끄럽지만 빠르게 해결하긴 했으니 재빨리 블로그에 적어본다.




고양이를 사랑하는 개발자의 블로그예요! 찾아주셔서 감사합니다 🤗

Update:

댓글남기기