找不到插件“提案数字分隔符”

IT技术 reactjs build yarnpkg
2021-04-13 11:59:35

如何修复Could not find plugin "proposal-numeric-separator",当我尝试构建我的 React 应用程序时出现此错误,我还没有弹出应用程序:

./src/index.js
Error: [BABEL] /home/pc/Downloads/project/src/index.js: Could not find plugin "proposal-numeric-separator". Ensure there is an entry in ./available-plugins.js for it. (While processing: "/home/pc/Downloads/project/node_modules/babel-preset-react-app/index.js$0")
    at Array.map (<anonymous>)
    at Generator.next (<anonymous>)
    at Generator.next (<anonymous>)


error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

我尝试下载 Babel 和依赖 Proposal Numeric Separator,删除 Node Modules,清理 Yarn 缓存;但没有任何效果。

我使用的是 Yarn 1.22.4 和 Node 13.11.0,但我也尝试过 NPM 6.13.7。

6个回答

以下步骤起作用:

  1. 将以下行添加到package.json
"resolutions": { 
  "@babel/preset-env": "7.5.5" 
},
  1. 运行以下命令:
$ npx npm-force-resolutions
  1. 安装依赖:
$ npm install
# or 
$ yarn
  1. 构建你的项目:
$ yarn build

看看这个 Github 问题

伙计,你救了我的命。你是怎么知道这个答案的?你有我的真棒,伙计。非常感谢。
2021-05-22 11:59:35
谢谢你,兄弟。我不知道发生了什么。怎么突然的。我可以正常构建它直到昨天,今天我必须这样做才能修复它?
2021-05-29 11:59:35
@CarlosQuerioz 我认为原因是文档的最后一个主题:“您的依赖项定义了广泛的版本范围,而您的子依赖项刚刚获得了有问题的更新,因此您想将其固定到早期版本”
2021-05-31 11:59:35
刚刚添加resolutions,删除了node_modules并安装了依赖项。成功了,谢谢。观察:我已经测试了构建,一切正常。
2021-06-09 11:59:35
@user3746480 这是 babel 依赖的问题。最可能的原因可能是删除或更新节点module。这就是为什么强制执行给定的工作版本可以修复它
2021-06-12 11:59:35

试试这个,它有效: npm i @babel/compat-data@7.8.0

我刚刚使用它就像 10 分钟前,它工作正常。

github 上正在讨论的相关问题。点击这里!

谢谢,我厌倦了这里描述的其他方法,但这在第一次尝试时有效
2021-06-06 11:59:35
很高兴听到这个,谢谢安迪 B-)
2021-06-10 11:59:35
我安装的@babel/preset-env 版本是 7.8.6,安装完全相同版本的 @babel/compat-data 对我有用!
2021-06-17 11:59:35
为我工作。恕我直言,最直接的回答。
2021-06-21 11:59:35

create-react-app 中的相应问题

在 package.json 文件中将 react-scripts 更新为 3.4.1 并删除 node_modules 以及 package-lock.json/yarn.lock 并重新安装。

为什么会出现这个问题?:

这是babel.

添加一个新插件来@babel/compat-data破坏旧@babel/preset-env版本。这是因为preset-env迭代compat-data的插件,如果插件未在预设环境available-plugins.js文件中定义,则抛出

这是解决问题的合并:https : //github.com/babel/babel/pull/11201/files/a88a00750c61ff89f1622d408d67108719f21ecd

解决方案

  • 删除package-lock.jsonyarn.lock
  • 删除node_modules文件夹
  • package.jon我已经将这些包的版本号调整为:
    ...
    "devDependencies": {
        "@babel/compat-data": "^7.8.0",
        "@babel/preset-env": "^7.8.0",
        "babel-loader": "^8.1.0",
        ...
    },
    ...
    "resolutions": {
        "@babel/preset-env": "^7.8.0"
    }
  • npm install
  • npm run build

参考:https : //github.com/angular/angular-cli/issues/17262

我找到了两个解决方案

a) 安装 babel 兼容

"devDependencies": {
    "@babel/compat-data": "7.8.0",
} 

b) 安装 plugin-proposal-numeric-separator

npm install --save-dev @babel/plugin-proposal-numeric-separator

仅安装此版本 7.8.0

  1. Angular CLI 会产生这种问题。转到 package json 并将其更改为

    构建角度”:“0.803.17”

请不要添加 ^ 或 ~