오류 [ERR_]PACKAGE_PATH_NOT_EXPORTED]: 패키지 하위 경로 './lib/tokenize'가 패키지의 "exports"에 의해 정의되지 않았습니다.node_에서 모듈의 json
이것은 리액트 웹 앱입니다.내가 뛸때
npm start
이오류가발생했습니다
> dataflow@0.1.0 start
> react-scripts start
node:internal/modules/cjs/loader:488
throw e;
^
Error [ERR_PACKAGE_PATH_NOT_EXPORTED]: Package subpath './lib/tokenize' is not defined by "exports" in /Users/juliantc/Desktop/ai-studio/development/frontend/node_modules/postcss-safe-parser/node_modules/postcss/package.json
at new NodeError (node:internal/errors:371:5)
at throwExportsNotFound (node:internal/modules/esm/resolve:416:9)
at packageExportsResolve (node:internal/modules/esm/resolve:669:3)
at resolveExports (node:internal/modules/cjs/loader:482:36)
at Function.Module._findPath (node:internal/modules/cjs/loader:522:31)
at Function.Module._resolveFilename (node:internal/modules/cjs/loader:919:27)
at Function.Module._load (node:internal/modules/cjs/loader:778:27)
at Module.require (node:internal/modules/cjs/loader:999:19)
at require (node:internal/modules/cjs/helpers:102:18)
at Object.<anonymous> (/Users/juliantc/Desktop/ai- studio/development/frontend/node_modules/postcss-safe-parser/lib/safe-parser.js:1:17) {
code: 'ERR_PACKAGE_PATH_NOT_EXPORTED'
}
Node.js v17.0.1
이 오류는 슈퍼유저 액세스 권한이 없는 이 특정 컴퓨터에서 이 오류를 실행할 때만 발생합니다.그것은 다른 컴퓨터에서도 작동합니다.
참고로 ./node_modules/postcss-safe-parser/node_modules/postcss/package 입니다.json
{
"name": "postcss",
"version": "8.2.6",
"description": "Tool for transforming styles with JS plugins",
"engines": {
"node": "^10 || ^12 || >=14"
},
"exports": {
".": {
"require": "./lib/postcss.js",
"import": "./lib/postcss.mjs",
"types": "./lib/postcss.d.ts"
},
"./": "./"
},
"main": "./lib/postcss.js",
"types": "./lib/postcss.d.ts",
"keywords": [
"css",
"postcss",
"rework",
"preprocessor",
"parser",
"source map",
"transform",
"manipulation",
"transpiler"
],
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/postcss/"
},
"author": "Andrey Sitnik <andrey@sitnik.ru>",
"license": "MIT",
"homepage": "https://postcss.org/",
"repository": "postcss/postcss",
"dependencies": {
"colorette": "^1.2.1",
"nanoid": "^3.1.20",
"source-map": "^0.6.1"
},
"browser": {
"./lib/terminal-highlight": false,
"colorette": false,
"fs": false
}
}
그리고 이것은 ./node_modules/postcss-safe-parser/node_modules/postcss/lib/에 파일을 나열하면 나타납니다.
lgtd-lt-119-mbmt: 프론트엔드 juliantc$ ls./node_modules/postcss-안심파서/node_modules/postcss/lib/
at-rule.d.ts css-syntax-error.d.ts input.d.ts map-generator.js postcss.d.ts processor.js rule.js tokenize.js
at-rule.js css-syntax-error.js input.js node.d.ts postcss.js result.d.ts stringifier.js warn-once.js
comment.d.ts declaration.d.ts lazy-result.d.ts node.js postcss.mjs result.js stringify.d.ts warning.d.ts
comment.js declaration.js lazy-result.js parse.d.ts previous-map.d.ts root.d.ts stringify.js warning.js
container.d.ts fromJSON.d.ts list.d.ts parse.js previous-map.js root.js symbols.js
container.js fromJSON.js list.js parser.js processor.d.ts rule.d.ts terminal-highlight.js
Node.js의 최신 버전을 설치했기 때문에 저도 같은 문제로 꼼짝 못하고 있습니다.
NVM을 사용하여 노드를 관리하는 Linux 사용자용
nvm uninstall <version>
합니다.LTS
nvm install --lts
저는 이게 통했어요.
오어
Node_modules 및 잠금 파일 삭제 시도
합니다.
node_modules
더,package-lock.json
아니면yarn.lock
모든 종속성을 다시 설치합니다.
npm i
아니면
yarn
노드를 설치하는 방법에 대한 자세한 내용은 digital ocean https://www.digitalocean.com/community/tutorials/how-to-install-node-js-on-ubuntu-20-04 의 이 블로그를 확인하십시오.
node_modules 폴더 및 .lock 파일을 제거하고 패키지(yarn 또는 npm)를 다시 설치합니다.지난 17.0.1의 nodejs에서 작동했습니다. 앱을 다시 시작할 수 있습니다.
제 작업 솔루션은 원사를 사용했습니다.
- 된
/node_modules
그리고.yarn.lock
일. - /합니다를 된 패키지을 다시 했습니다.
yarn install
.
됐어요!!!
FWIW, 홈브루를 통해 노드 17.0.1이 설치된 맥OS 몬테레이에서 이 문제를 발견했습니다.노드 16.x로 다운그레이드하는 것이 효과적이었습니다.
홈브루를 사용하여 노드 17.x(최신)에서 노드 16.x로 다운그레이드:
brew uninstall --ignore-dependencies node
brew install node@16
brew link node@16
및 하고 다시 에 이 되었습니다.npm update
나를 위해 일했습니다
16.8.0
면해)전.16.13.0
:
1단계: 설치 n
npm install -g n
2단계: 노드 최신 안정 버전 설치/설정
sudo n stable
또는 16.8.0을 설정합니다.
sudo n 16.8.0
참고로 sudo forn을 사용할 수 없거나 사용하고 싶지 않은 경우 위치에 대한 환경 변수를 설정할 수 있습니다.
export N_PREFIX=$HOME/.n
export PATH=$N_PREFIX/bin:$PATH
node_modules & package-lock.json을 제거한 후 이란
npm audit fix --force
& 업데이트된 반응 - 사용 가능한 최신 버전으로 scripts.
npm install react-scripts@latest
이전 노드 버전으로 롤백할 필요가 없습니다.
에서 node.js v18 에서하였습니다.node_modules
와.package-lock.json
일:
rm -rf node_modules package-lock.json
...실행 중:
npm i
npm audit fix
.npm start
잘 작동했습니다.
Node.js v17.0.1 (Lates Features) - macOS 카탈리나와 홈브루를 사용하고 있습니다.
그래서 Node.js v17.0.1을 Node.js(LTS) -> Node.js v16.3.1로 전환하고자 합니다.
다음 명령을 사용하여 홈브루를 사용하여 노드를 제거합니다.
brew uninstall node
그런 다음 https://nodejs.org/en/ 에서 Node LTS를 다운로드하여 설치합니다.
그것은 저를 위한 일입니다.감사합니다 :)
저는 craco와 postcss에 이 문제가 있었습니다.제가 해결하기 위해 한 일은.
npm i -D postcss@latest
export NODE_OPTIONS=--openssl-legacy-provider
npm install
이 문제는 v17.0.1보다 낮은 node.js 버전으로 개발된 이전 반응 저장소로 작업하려고 할 때 발생할 수 있으며 현재 v17.0.1 이상의 노드 버전을 사용하고 있는 경우에 발생할 수 있습니다.
합니다.
node_modules
더,package-lock.json
그리고.yarn
파일(있는 경우).다음 명령을 사용하여 전체 NPM 캐시를 강제로 클리닝합니다.이 명령을 실행하는 동안 경고가 표시될 수 있으므로 무시하십시오.
npm cache clean --force //WARN using --force Recommended protections disabled.
모든 종속성을 다시 설치합니다.
npm install
오류 [ERR_]을(를) 수신하고 있었습니다.PACKAGE_PATH_NOT_EXPORTED]: 패키지 하위 경로 './lib/parser'가 ...node_modules\next\node_modules\postcss\package에서 "exports"로 정의되지 않았습니다.json
반응을 업그레이드한 후 노드 버전 17.4.0에서 해결했으며 nextjs는 다음을 사용합니다.
npm install react@latest react-dom@latest
npm install next@12
(https://nextjs.org/docs/upgrading)
방금 했어요.
npm update
npm start
나를 위해 일했습니다.
@AnmolNoor가 버전 17을 삭제하라고 하는 이유를 모르겠습니다.
올바른 방법:
당신이 가지고 있는지 확인하세요.
nvm
(https://github.com/nvm-sh/nvm) .만약 그렇지 않다면 설치하는 것을 적극 추천합니다.해 보세요.
node --version
버전이 17인 경우 오류가 발생한 이유일 수 있습니다(제 경우처럼).
실행.
nvm install 14
설치가 완료되면 노드 버전도 14로 전환해야 합니다.을 확인합니다.
node --version
만일의 경우에 대비해서그래도 17이 보이면 달려라.nvm use 14
당신의.node --version
이제 14살이 되어야 합니다.
참고: 현재 터미널 탭을 닫을 때마다 이를 변경하지 않으면 기본 노드 버전이 17로 돌아갑니다.
다음 을 14 로만 .nvm use 14
"반응 스크립트"의 최신 버전에 대한 업데이트가 완료되었습니다.이전 "리액트 스크립트" 버전은 4.0.3이었고 저는 5.0.0으로 업데이트했습니다.노드 버전은 17.0.1입니다.
node_module & package-lock.json 제거
그리고나서
npm install
(사용할 때 오류가 발생하면 설치)--force
그리고.--legacy-peer-deps
로서의 명령.
`npm install --legacy-peer-deps`
)
npm start
/node_modules 폴더, package-lock.json & yarn.lock 파일 제거 후 실행
npm i
,그리고나서npm audit fix --force
그것은 아주 잘 작동했습니다.
namespace.js에 대해서도 비슷한 문제에 직면해 있었고 다음 행을 추가하여 문제를 해결했습니다.
"./lib/util/namespace":"./lib/util/namespace.js"
수출에 있어서/usr/local/lib/node_modules/generator-jhipster/node_modules/yeoman-environment/package.json
최종 수출은 다음과 같습니다.
"exports": {
".": "./lib/environment.js",
"./cli/": "./cli/",
"./lib/": "./lib/",
"./lib/util/": "./lib/util/",
"./adapter": "./lib/adapter.js",
"./conflicter": "./lib/util/conflicter.js",
"./log": "./lib/util/log.js",
"./transform": "./lib/util/transform.js",
"./lib/util/namespace":"./lib/util/namespace.js",
"./package.json": "./package.json"
}
원사를 사용할 경우 다음을 수행할 수 있습니다.
rm -rf node_modules yarn.lock
yarn add -D react-scripts@latest
yarn build
npm의 경우:
rm -rf node_modules package-lock.json
npm install -D react-scripts@latest
npm install
npm run build
노드 버전 v17.1.0 때문에 비슷한 문제가 발생했습니다.
3가지 버전의 노드가 설치된 nvm이 있습니다.방금 nvm을 사용하여 v14.18.1 버전으로 전환하여 문제가 해결되었습니다.
저의 경우 버전 의존성 불일치로 인해 이 문제가 발생했습니다.리액트 버전과 다음 버전을 업그레이드하기만 하면 다음 명령에 따라 npm을 다시 설치할 수 있습니다.
npm install react@latest react-dom@latest next@latest --force
이 명령어를 사용하여 다음 버전과 리액트 버전을 내 요구에 따라 특정 버전으로 업데이트했습니다.
npm install next@12 react@18 react-dom@18 --force
내겐 통했어요유용하게 쓰이길 바랍니다.
이는 질문 작성자에게 도움이 되지 않을 수도 있습니다. 질문 작성자의 문제는 플랫폼에 한정되어 있기 때문입니다. 그러나 이 오류는 다른 사용자가 디버깅하는 데 도움이 될 수 있는 또 다른 잠재적인 오류의 원인입니다.
올바른 위치에서 종속성을 가져오고 있는지 확인합니다.우연히 마주친 것:
Error: Package subpath './dist/esm' is not defined by "exports" in /node_modules/kysely/package.json
이유:
import { Kysely } from 'kysely/dist/esm'
대신:
import { Kysely } from 'kysely'
현재 Node.js를 제거하고 LTS를 설치하면 문제가 해결되지만 현재 설치된 버전을 유지하려면 다음을 사용할 수 있습니다.nvs add lts
최신 Node.js LTS를 설치하고 를 사용하여 활성화합니다.nvs use node/<lts version>/<platform>
. LTS 버전 및 Platform 값이 첫 번째 명령 출력에 제공됩니다.
5분 전에도 같은 문제가 있었는데 작동 중이라 이상하지만 어쨌든 저의 경우 "resolve-url-loader" 패키지 버전 3.0에 문제가 있었는데 버전 5.0으로 업그레이드 후 모든 것이 해결되었습니다.
npm i resolve-url-loader@^5.0.0 --save-dev
이 패키지와 노드 17+가 있는 경우 최신 버전으로 업데이트를 시도해 보십시오. 오래된 버전에서는 이와 같은 문제가 발생합니다.
Node.js 17에서 응용 프로그램에 오류가 발생하면 응용 프로그램 또는 사용 중인 모듈이 OpenSSL 3.0에서 더 이상 기본적으로 허용되지 않는 알고리즘 또는 키 크기를 사용하려고 시도하는 것일 수 있습니다.이처럼 엄격해진 제한에 대한 임시 해결책으로 기존 공급자에게 되돌아가기 위한 명령줄 옵션인 은 추가되었습니다.ERR_OSSL_EVP_지원되지 않음--opensl-legacy-provider
OpenSSL 3.0의 모든 기능에 대한 자세한 내용은 OpenSSL 3.0 릴리스 블로그를 참조하십시오.
https://github.com/nodejs/node/pull/38512, https://github.com/nodejs/node/pull/40478 에 기여했습니다.
https://nodejs.org/en/blog/release/v17.0.0/ # openssl-3-0
을 했습니다로 했습니다.v16.17.1
하고 다시 packgege.json되었습니다입니다.
언급URL : https://stackoverflow.com/questions/69693907/error-err-package-path-not-exported-package-subpath-lib-tokenize-is-not-d
'programing' 카테고리의 다른 글
WP 게시글 제출을 위한 오프라인 양식 작성 방법 (0) | 2023.09.28 |
---|---|
순수 C(C++ 아님)에 대한 코딩 표준 (0) | 2023.09.28 |
MySQL에서 현재 UTC 시간에 대한 Unix 타임스탬프를 가져오는 가장 좋은 방법 (0) | 2023.09.28 |
MySQL LIMIT X, X를 늘리면 Y가 느려집니다. (0) | 2023.09.23 |
MySql에서 덤프 파일 내보내기 (0) | 2023.09.23 |