본문 바로가기

Trouble Shooting

Node 버전 변경해서 사용하기 (nvx)

프로젝트나 다른 오픈 소스들을 참조 하다 코드를 돌려 보고싶은 마음에 무작정 돌리다가 node의버전이 안맞아 삽질한 경  기록을 남긴다.

 

이전 노드의 버전에서는돌아가던 패키지들과 종속성이 꼬여서 에러 발생. ==> 노드의 버전을 낮은걸로 쓰면 해결

 

에러 코드

> npm run start

> dwitter-app@0.1.0 start
> react-scripts start

node:internal/modules/cjs/loader:573
      throw e;
      ^

Error [ERR_PACKAGE_PATH_NOT_EXPORTED]: Package subpath './lib/tokenize' is not defined by "exports" in /Users/youngchul/Downloads/dwitter/client_18_final/node_modules/postcss-safe-parser/node_modules/postcss/package.json
    at new NodeError (node:internal/errors:399:5)
    at exportsNotFound (node:internal/modules/esm/resolve:361:10)
    at packageExportsResolve (node:internal/modules/esm/resolve:697:9)
    at resolveExports (node:internal/modules/cjs/loader:567:36)
    at Module._findPath (node:internal/modules/cjs/loader:636:31)
    at Module._resolveFilename (node:internal/modules/cjs/loader:1063:27)
    at Module._load (node:internal/modules/cjs/loader:922:27)
    at Module.require (node:internal/modules/cjs/loader:1143:19)
    at require (node:internal/modules/cjs/helpers:110:18)
    at Object.<anonymous> (/Users/youngchul/Downloads/dwitter/client_18_final/node_modules/postcss-safe-parser/lib/safe-parser.js:1:17) {
  code: 'ERR_PACKAGE_PATH_NOT_EXPORTED'
}

Node.js v18.16.1

 

 

해결법

node -v // 노드의 버전 확인

nvm install <노드의 버전> // 필요한 노드의 버전 다운

nvm use <노드 버전> // 다른 버전으로 변경 사용

node -v // 변경한 노드의 버전이 맞는지 확인