프로젝트나 다른 오픈 소스들을 참조 하다 코드를 돌려 보고싶은 마음에 무작정 돌리다가 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 // 변경한 노드의 버전이 맞는지 확인