티스토리 뷰
■ 프론트엔드 ■/React
yarn berry error - `node:internal/process/esm_loader:40` `internalBinding('errors').triggerUncaughtException`
serpiko 2023. 12. 13. 14:13
yarn berry node 20.10.0 적용 후 error 처리 기록
에러 원인
- 이전 구성 버전: node 16.15.0 / packageManager yarn@3.2.3
- node 20.10.0 으로 node 버전 변경 시 에러
현재 package.json
{
"name": "my-project",
"version": "0.1.0",
"private": true,
"packageManager": "yarn@3.2.3",
...
}
node 20.10.0 설치 후 20.10.0으로 변경하여 프로젝트를 구동
# 현재 버전
$ node -v
$ v16.15.0
# node 20.10.0 으로 변경
$ nvm install 20.10.0
$ nvm use 20.10.0
# 프로젝트 실행
$ yarn run start
에러 메세지
- 다음과 같은 에러 전문이 출력됨
- 주요 에러 메세지
node:internal/process/esm_loader:40
internalBinding('errors').triggerUncaughtException(
Unknown file extension ".json" for package.json
node:internal/process/esm_loader:40
internalBinding('errors').triggerUncaughtException(
^
Error: Unknown file extension ".json" for /Users/company/Documents/my/poc/project-clone/package.json
at getFileFormat (file:///Users/company/Documents/my/poc/project-clone/.pnp.loader.mjs:129:13)
at load$1 (file:///Users/company/Documents/my/poc/project-clone/.pnp.loader.mjs:177:18)
at nextLoad (node:internal/modules/esm/hooks:865:28)
at Hooks.load (node:internal/modules/esm/hooks:448:26)
at MessagePort.handleMessage (node:internal/modules/esm/worker:196:24)
at [nodejs.internal.kHybridDispatch] (node:internal/event_target:814:20)
at exports.emitMessage (node:internal/per_context/messageport:23:28)
해결방법
- yarn berry 4.x 업데이트
- $ yarn set version [--only-if-needed] <version>
$ yarn set version 4.0.2
$ yarn install
package.json
- 다음과 같이 yarn@4.0.2 로 변경되어있음
{
"name": "my-project",
"version": "0.1.0",
"private": true,
"packageManager": "yarn@4.0.2",
...
}
프로젝트 다시 구동
$ yarn run dev
구동 성공 메세지 출력
Compiled successfully!
You can now view trading-web in the browser.
Local: http://localhost:3000
On Your Network: http://192.168.0.44:3000
Note that the development build is not optimized.
To create a production build, use yarn build.
webpack compiled successfully
No issues found.
주요파일 변경내역
- .pnp.cjs
- .pnp.loader.mjs
- package.json
- yarn.lock
- .yarn/releases/yarn-4.0.2cjs
- .yarn/sdks/ 파일들 (개인 plugin 설정마다 다를 수 있음)
- eslint
- prettier
- typescript
- yarnrc.yml
compressionLevel: mixed
enableGlobalCache: false
nodeLinker: pnp
yarnPath: .yarn/releases/yarn-4.0.2.cjs
'■ 프론트엔드 ■ > React' 카테고리의 다른 글
React Hook Form (useState-less 패턴) (0) | 2024.03.29 |
---|---|
re-resizeable 을 이용한 오더북 개수조정 컴포넌트 (1) | 2024.02.09 |
tanstack-react-query (useMutation.mutateAsync) (0) | 2023.06.29 |
tanstack-react-query (useQuery, useMutation.mutate) (0) | 2023.06.28 |
ReatToolkit and Thunk (with TS) (0) | 2023.06.28 |
댓글