node version issue 해결하기 (feat. how to downgrade from v18 to v16)
상황은 이러했다.
회사에서 내가 npm run start로 미리보기 실행하려는 파일이 명령어가 안 먹히는 것이다.
다른 동료 개발자가 동일한 파일을 실행했을 떄 역시 에러가 남!!
(호오.. 근데 나는 아래 에러 메시지는 안 떴던 것 같은데? ^.ㅠ 암튼)
node version 18로 했을 때는 Error: error:0308010C:digital envelope routines::unsupported 에러 발생했다고 함
Error message "error:0308010C:digital envelope routines::unsupported"
I created the default IntelliJ IDEA React project and got this: Error: error:0308010C:digital envelope routines::unsupported at new Hash (node:internal/crypto/hash:67:19) at Object.createHa...
stackoverflow.com
링크에 따르면 16버전 이하로 사용하라고 함
Try to uninstall Node.js version 17+ and reinstall the Node.js version 16+
결론부터 얘기하면 (동료 개발자 왈) node를 하나씩 설치하는 것보다 nvm 사용하는게 낫다고 함
Why? 프로젝트마다 사용하는 node 버전이 다른 경우가 많음 그러면 컴터에 여러 node 버전을 설치해야 하기 때문에 번거로움 ㅠㅜ
해결 방법
1. 나의 경우 홈브루로 노드를 설치했기 때문에 아래 명령어로 노드를 삭제했다.
node -v
// node version 확인
brew uninstall --force node
이 과정에서 이상한건?ㅋ
version 18이 삭제가 제대로 안된 상태에서 16을 설치했다.
근데 이게 희안한게? 나중에 version 18을 삭제하고 나니 이미 설치해놨던 16이 쨔자잔 나타났다?!! 🤔
2. verison 16은 아래 링크에서 설치 가능
https://nodejs.org/ko/download/
다운로드 | Node.js
Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine.
nodejs.org
3. 해당 노드 버전에 필요한 패키지 설치
rm -rf node_modules
git checkout HEAD package-lock.json
npm install
npm run start
여기서 git checkout HEAD package-lock.json 이 명령어는 package-lock.json 파일을 github에 있는 버전으로 되돌리는 거임
내 컴터는 18 버전도 사용했었기 때문에
18로 설치하면서 package-lock.json도 수정 됐을거임
고로 16 버전에 필요한 패키지를 설치해야 한다!
기타 참고 링크
[Node.js] warning package.json: No license field 해결
React와 Node.js를 함께 구동하는 과정에서 error가 발생했다. package.json에 "scripts"에 dev를 만들어서 함께 동작 가능하도록 하려 했었다. (참고로 "scripts"를 "script"라고 하면 error가 발생하니 주의하자..
js-note.tistory.com
[Node] mac에서 Node.js 완전히 삭제하기
몇일 전 개발한 프로젝트를 운영에 배포하는 도중 나의 Mac에 깔린 Node가 이상하게 꼬여있는 것을 발견하였다. 리스트에는 없는 노드 버전이 디폴트 버전으로 설정되어 있었다. 당장은 문제가 없
velog.io