Error [ERR_REQUIRE_ESM]: require() of ES Module /Users/yujin/caveduck/caveduck/proj.www/node_modules/json-with-bigint/json-with-bigint.js from /Users/.../node_modules/@qdrant/openapi-typescript-fetch/dist/cjs/fetcher.js not supported.
Instead change the require of json-with-bigint.js in /Users/.../node_modules/@qdrant/openapi-typescript-fetch/dist/cjs/fetcher.js to a dynamic import() which is available in all CommonJS modules.
이와 같은 에러를 만났다. 평소처럼 npm i 를 하거나 관련 라이브러리를 재설치해보았으나 소용이 없었다.
ESM이란?
ESM은 ECMAScript module(ES Module)로 import 및 export키워드를 사용하여 코드를 모듈화하고, 다른 모듈에서 필요한 코드를 가져오는 기능을 제공한다. 그렇기때문에 기존 json-with-bigint.js를 사용하려면
1. requied대신에 import로 전부다 바꾼다?
nodejs 환경에서 commonJS 모듈을 사용하고있기때문에 싹다바꿔야하는거라 말이되지않았다.
2. 해당 라이브러리관련 코드를 전부 제거한다?
다행히 사수분이 해결해줘서 해당내용을 기록한다.
문제의 코드를 package-lock.json 에서 찾을 수 있었다. 버전문제일 확률이 높다.
@qdrant/openapi-typescript-fetch 라이브러리의 json-with-bigint dependencies 문제라서 관련 깃페이지로 이동하였다.
해당 라이브러리가 최근에 1.2.1 -> 1.2.2로 버전을 변경한것을 확인하였다.
현재 프로젝트에서는 기존 1.2.1을 사용하고있었기때문에 관련문제가 발생한듯하다.
package.json
해당라이브러리만 기존 버전으로 override하고 npm install 한다.
"overrides": {
"@qdrant/js-client-rest": {
"@qdrant/openapi-typescript-fetch": "1.2.1"
}
}
해당 이슈가 사라진것을 확인하였다.
반응형
'Network&etc > vscode&package.json' 카테고리의 다른 글
yarn berry + nextjs (1) | 2022.07.19 |
---|---|
RestClient - postman 쓰기 귀찮다면 (0) | 2022.03.22 |
Live Sass Compiler 자동변환 컴파일러 - VScode익스텐션 (0) | 2021.11.13 |
REST Client (0) | 2021.11.03 |
prettier,ESLint,typescript 설치방법 + 저장시 자동실행 (0) | 2021.07.31 |