'ERR_PACKAGE_PATH_NOT_EXPORTED

问题描述 投票:0回答:7

节点:内部/模块/cjs/loader:488 扔 e; ^

错误 [ERR_PACKAGE_PATH_NOT_EXPORTED]:包子路径“./lib/tokenize”未由 C:\Users\Masum PC mi-parbona 中的“exports”定义 ode_modules\postcss-安全解析器 ode_modules\postcss\package.json 在新的 NodeError 处(节点:内部/错误:371:5) 在 throwExportsNotFound (节点:内部/模块/esm/resolve:416:9) 在 packageExportsResolve (节点:内部/模块/esm/resolve:669:3) 在resolveExports(节点:内部/模块/cjs/loader:482:36) 在 Function.Module._findPath (节点:内部/模块/cjs/loader:522:31) 在 Function.Module._resolveFilename (节点:内部/模块/cjs/loader:919:27) 在 Function.Module._load (节点:内部/模块/cjs/loader:778:27) 在 Module.require (节点:内部/模块/cjs/loader:999:19) 在需要时(节点:内部/模块/cjs/helpers:102:18) 在对象。 (C:\Users\Masum PC mi-parbona ode_modules\postcss-safe-parser\lib\safe-parser.js:1:17) { 代码:'ERR_PACKAGE_PATH_NOT_EXPORTED' }

Node.js v17.0.1

create-react-app
7个回答
5
投票

我完全同意TripleM的答案(请参阅该答案以了解更多详细信息),但我将在这里建议一个简短而甜蜜的答案。

首先,卸载这3个npm包:(next,react,react-dom)

npm uninstall next react react-dom

然后,使用最新版本重新安装它们

npm install --save next react react-dom

如果此方法对您不起作用,请尝试TripleM的答案,这可能对您有用。


4
投票

在做我的 nextJs 项目时 -

npm 运行开发

我发现了同样的错误。我已经通过执行一些步骤解决了这个问题。

  1. 使用
    npx create-next-app@latest
    在其他文件夹上创建了一个新项目(或者对于 React 项目,使用相应的命令创建一个新项目)
  2. 在我当前的项目中,我收到错误,我删除了
    node_modules
    文件夹和
    package-lock.json
    文件(不是 package.json 文件)
  3. 打开当前项目的 package.json 文件,并将
    next ,react, react-dom
    版本替换为我在其他文件夹中创建的最新项目版本。
  4. 现在只需
    npm install
    然后运行项目

解释:- 如果您尝试运行版本与当前安装的版本不同的旧项目,通常会发生此错误。因此,您需要使用 package.json 文件中的确切版本作为当前安装的版本。 如果您确切知道版本,则无需创建新项目,只需替换版本即可。

在通过 stackoverflow 搜索解决方案时,我发现

npm update
命令对其他人来说效果很好,因为该答案已被投票。但对我来说(使用 ubuntu 20)这不起作用,所以我需要手动更新 package.json 的版本。

您可以看到截图,其中提到了替换新版本的位置。

您的依赖项中可能还有其他包,您可能还需要升级其他包的最新版本。

在我的react-native项目中,我必须升级

react-native-camera
版本才能在我的新系统上运行该应用程序,但它在我的旧系统上运行良好。

所以结论是

**UPGRADE THE VERSION(S)**


1
投票

当我 git clone'd this 存储库时,这发生在我身上。

有效的方法是将我的node.js 版本从当前版本降级为lts。我用过

nvm use --lts


0
投票

在这里发帖是因为我有不同的原因。

对我来说,我使用的是 AWS Amplify,它在幕后使用 AWS CodeBuild。

我修改了 monorepo 中多个包的一些依赖项、devDependency 和 peerDependency。

构建失败,因为我的网络应用程序试图拉入旧版本的

entities
库,位于依赖关系树的下方。

$ pnpm why entities
html-react-parser 3.0.9
└─┬ html-dom-parser 3.1.3
  └─┬ htmlparser2 8.0.1
    ├─┬ domutils 3.0.1
    │ └─┬ dom-serializer 2.0.0
    │   └── entities 2.2.0
    └── entities 2.2.0

导致此 CI/CD 构建错误:

2023-02-22T05:39:28.319Z [INFO]: @myapp/webapp:build: cache miss, executing cd449f2fbd550ffc
2023-02-22T05:39:28.775Z [INFO]: @myapp/webapp:build:
                                 @myapp/webapp:build: > @myapp/[email protected] build /codebuild/output/src711556549/src/myapp/apps/webapp
                                 @myapp/webapp:build: > react-scripts build
                                 @myapp/webapp:build:
2023-02-22T05:39:28.952Z [INFO]: @myapp/webapp:build: node:internal/modules/cjs/loader:560
                                 @myapp/webapp:build:       throw e;
                                 @myapp/webapp:build:       ^
                                 @myapp/webapp:build:
                                 @myapp/webapp:build: Error [ERR_PACKAGE_PATH_NOT_EXPORTED]: Package subpath './lib/decode_codepoint' is not defined by "exports" in /codebuild/output/src711556549/src/myapp/node_modules/.pnpm/node_modules/entities/package.json
                                 @myapp/webapp:build:     at new NodeError (node:internal/errors:387:5)
                                 @myapp/webapp:build:     at throwExportsNotFound (node:internal/modules/esm/resolve:365:9)
                                 @myapp/webapp:build:     at packageExportsResolve (node:internal/modules/esm/resolve:649:3)
2023-02-22T05:39:28.953Z [INFO]: @myapp/webapp:build:     at resolveExports (node:internal/modules/cjs/loader:554:36)
                                 @myapp/webapp:build:     at Function.Module._findPath (node:internal/modules/cjs/loader:594:31)
                                 @myapp/webapp:build:     at Function.Module._resolveFilename (node:internal/modules/cjs/loader:1007:27)
                                 @myapp/webapp:build:     at Function.Module._load (node:internal/modules/cjs/loader:866:27)
                                 @myapp/webapp:build:     at Module.require (node:internal/modules/cjs/loader:1093:19)
                                 @myapp/webapp:build:     at require (node:internal/modules/cjs/helpers:108:18)
                                 @myapp/webapp:build:     at Object.<anonymous> (/codebuild/output/src711556549/src/myapp/node_modules/.pnpm/node_modules/htmlparser2/lib/Tokenizer.js:6:42) {
                                 @myapp/webapp:build:   code: 'ERR_PACKAGE_PATH_NOT_EXPORTED'
                                 @myapp/webapp:build: }
2023-02-22T05:39:28.957Z [INFO]: @myapp/webapp:build:  ELIFECYCLE  Command failed with exit code 1.
2023-02-22T05:39:28.962Z [WARNING]: @myapp/webapp:build: ERROR: command finished with error: command (/codebuild/output/src711556549/src/myapp/apps/webapp) pnpm run build exited (1)
2023-02-22T05:39:28.962Z [WARNING]: command (/codebuild/output/src711556549/src/myapp/apps/webapp) pnpm run build exited (1)
                                    ERROR  run failed: command  exited (1)

我花了一段时间才意识到,在我的构建设置中,构建正在缓存node_modules:

      cache:
        paths:
          - node_modules/**/*

解决方案,我只需要注释关于构建设置行,启动另一个构建,然后取消注释。

      cache:
        paths:
          # - node_modules/**/*

构建成功后,我恢复了 node_modules 的缓存,以便将来的 CI/CD 构建可能会更快。

正确的依赖树:

$ pnpm why entities 
html-react-parser 3.0.9
└─┬ html-dom-parser 3.1.3
  └─┬ htmlparser2 8.0.1
    ├─┬ domutils 3.0.1
    │ └─┬ dom-serializer 2.0.0
    │   └── entities 4.4.0
    └── entities 4.4.0

在此处查看构建设置信息: https://docs.aws.amazon.com/amplify/latest/userguide/build-settings.html#yml-specification-syntax


0
投票

将 --openssl-legacy-provider 添加到 package.json 其中脚本 应该是这样的

"scripts": {
    "start": "react-scripts --openssl-legacy-provider start",
    "build": "react-scripts build",
    "test": "react-scripts test",
    "eject": "react-scripts eject"
  }

0
投票

我也遇到了同样的问题,如上所述,解决方案是在运行安装命令的同一个项目中执行:

npm install
npm update

0
投票

当我尝试运行使用 Node v16 创建的 React 应用程序时遇到这样的错误,但我安装了 Node v18。对我有帮助的是:我删除了 Node v18 并安装了 Node v16

© www.soinside.com 2019 - 2024. All rights reserved.