Jul*_*Chu 169 node.js npm node-modules package.json
这是一个 React 网络应用程序。当我跑步时
npm start
Run Code Online (Sandbox Code Playgroud)
出现此错误
> 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
Run Code Online (Sandbox Code Playgroud)
仅当我在这台特定计算机上运行此错误时才会发生此错误,而我没有超级用户访问权限。它适用于其他计算机。
作为参考,这是 ./node_modules/postcss-safe-parser/node_modules/postcss/package.json
npm start
Run Code Online (Sandbox Code Playgroud)
这就是我在 ./node_modules/postcss-safe-parser/node_modules/postcss/lib/ 中列出文件时得到的结果
lgtd-lt-119-mbmt:前端 juliantc$ ls ./node_modules/postcss-safe-parser/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
Run Code Online (Sandbox Code Playgroud)
Anm*_*oor 156
我也遇到了同样的问题,因为我安装了最新版本的 Node.js。
对于使用NVM管理节点的Linux用户
nvm uninstall <version>
Run Code Online (Sandbox Code Playgroud)
现在安装LTS
版本
nvm install --lts
Run Code Online (Sandbox Code Playgroud)
这对我有用。
或者
尝试删除 Node_modules 和锁定文件
删除您的node_modules
文件夹,package-lock.json
或者yarn.lock
重新安装所有依赖项。
npm i
Run Code Online (Sandbox Code Playgroud)
或者
yarn
Run Code Online (Sandbox Code Playgroud)
为了更好地了解如何安装节点,请查看 digital ocean 的博客 https://www.digitalocean.com/community/tutorials/how-to-install-node-js-on-ubuntu-20-04
lau*_*gre 62
删除 node_modules 文件夹和 .lock 文件并重新安装包(yarn 或 npm)。它对我来说对nodejs的最后17.0.1有效,我可以npm(或yarn)再次启动我的应用程序。
小智 31
我的工作解决方案是使用纱线:
/node_modules
并yarn.lock
归档。yarn install
。有效 !!!
小智 22
回滚到 Node16.8.0
或(对我有用)稳定版本16.13.0
:
第1步:安装n
npm install -g n
Run Code Online (Sandbox Code Playgroud)
第2步:安装/设置节点最新稳定版本
sudo n stable
Run Code Online (Sandbox Code Playgroud)
或设置16.8.0
sudo n 16.8.0
Run Code Online (Sandbox Code Playgroud)
请注意,如果您不能或不想使用 sudo 作为 n,您可以为该位置设置环境变量,例如;
export N_PREFIX=$HOME/.n
export PATH=$N_PREFIX/bin:$PATH
Run Code Online (Sandbox Code Playgroud)
小智 20
FWIW,我在通过 Homebrew 安装了 Node 17.0.1 的 macOS Monterey 上遇到了这个问题。降级到 Node 16.x 对我有用。
使用 Homebrew 从 Node 17.x(最新)降级到 Node 16.x:
brew uninstall --ignore-dependencies node
brew install node@16
brew link node@16
Run Code Online (Sandbox Code Playgroud)
当您尝试使用旧的 React 存储库(该存储库是使用低于v17.0.1的 Node.js 版本开发的,并且您当前使用的是v17.0.1或更高的 Node 版本)时,可能会出现此问题。
删除您的node_modules
文件夹package-lock.json
和yarn
文件(如果有)。
使用以下命令强制清理整个 NPM 缓存。执行此命令时,您可能会收到警告,请忽略它。
npm cache clean --force //WARN using --force Recommended protections disabled.
Run Code Online (Sandbox Code Playgroud)
重新安装所有依赖项。
npm install
Run Code Online (Sandbox Code Playgroud)
小智 8
我在 craco 和 postcss 上遇到了这个问题。我所做的要解决的是
npm i -D postcss@latest
export NODE_OPTIONS=--openssl-legacy-provider
npm install
Run Code Online (Sandbox Code Playgroud)
小智 7
删除 node_modules 和 package-lock.json 后,我运行
npm audit fix --force
Run Code Online (Sandbox Code Playgroud)
并将反应脚本更新为最新可用版本
npm install react-scripts@latest
Run Code Online (Sandbox Code Playgroud)
您不需要回滚到旧的节点版本。
在 node.js v18 上,我通过删除node_modules
文件夹和package-lock.json
文件解决了这个问题:
rm -rf node_modules package-lock.json
Run Code Online (Sandbox Code Playgroud)
...然后运行:
npm i
npm audit fix
Run Code Online (Sandbox Code Playgroud)
我的下一个npm start
工作得很好。
使用 Node.js v17.0.1(最新功能)时我也会收到错误 - 我使用的是 macOS Catalina 和自制程序。
所以我想将 Node.js v17.0.1 切换到 Node.js (LTS) -> Node.js v16.3.1
我使用自制软件通过以下命令卸载节点:
brew uninstall node
Run Code Online (Sandbox Code Playgroud)
然后我从https://nodejs.org/en/下载 Node LTS并安装它。
这对我来说是工作。谢谢 :)
我收到错误 [ERR_PACKAGE_PATH_NOT_EXPORTED]:包子路径 './lib/parser' 未由 ...node_modules\next\node_modules\postcss\package.json 中的“exports”定义
升级react和nextjs后,我已经在节点版本17.4.0上解决了这个问题,使用:
npm install react@latest react-dom@latest
npm install next@12
Run Code Online (Sandbox Code Playgroud)
(https://nextjs.org/docs/upgrading)
归档时间: |
|
查看次数: |
195265 次 |
最近记录: |