找不到插件“proposal-numeric-separator”

Posted

技术标签:

【中文标题】找不到插件“proposal-numeric-separator”【英文标题】:Could not find plugin "proposal-numeric-separator" 【发布时间】:2020-07-01 23:23:14 【问题描述】:

如何修复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,删除节点模块,清理 Yarn 缓存;但没有任何效果。

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

【问题讨论】:

我遇到了同样的问题。 +1 其他人也有同样的问题:reddit.com/r/angular/comments/flymj5/build_failing_please_help 建议的解决方案对我不起作用。 【参考方案1】:

这件事发生在我身上。为了修复它,我使用 sudo 权限运行了 yarn build

【讨论】:

【参考方案2】:

以下步骤有效:

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

看看这个Github Issue

【讨论】:

刚刚添加了resolutions,删除了node_modules并安装了依赖项。它奏效了,谢谢。 观察:我已经测试了构建,一切正常。 伙计,你救了我的命。你怎么知道这个答案?你有我的真棒,伙计。非常感谢。 @CarlosQuerioz 我认为原因是this 文档中的最后一个主题:“您的依赖项定义了广泛的版本范围,而您的子依赖项刚刚得到了一个有问题的更新,因此您想将其固定到较早的版本” 谢谢你。我不知道发生了什么。怎么会突然发生。我可以正常构建它,直到昨天,今天我必须这样做才能修复它? @user3746480 是 babel 依赖的问题。最可能的原因可能是删除或更新节点模块。这就是为什么强制执行给定的工作版本来修复它【参考方案3】:

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

这是babel使用的内部包之间的冲突问题。

@babel/compat-data 添加新插件会破坏旧的@babel/preset-env 版本。这是因为preset-env 迭代了compat-data 的插件,如果插件未在preset-env 的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

【讨论】:

【参考方案4】:

我遇到了类似的问题,我能够通过将所有 babel 依赖项更新到最新版本来解决它。我不知道 babel 的确切问题。但是,下面提到的步骤对我有用。

第 1 步:从 package.json 中识别并删除所有 babel 相关的依赖项

npm remove @babel/runtime @babel/core @babel/plugin-proposal-class-properties @babel/plugin-transform-modules-commonjs @babel/plugin-transform-runtime @babel/preset-env @babel/preset-react babel-eslint babel-jest babel-loader

第二步:重新安装 babel 依赖

npm install --save @babel/runtime

npm install --save-dev @babel/core @babel/plugin-proposal-class-properties @babel/plugin-transform-modules-commonjs @babel/plugin-transform-runtime @babel/preset-env @babel/preset-react babel-eslint babel-jest babel-loader

PS:上面的 babel 依赖列表会因你的项目而异。

【讨论】:

【参考方案5】:

来自create-react-app中对应的issue,

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

【讨论】:

【参考方案6】:

我刚刚将 react-script 版本从 3.0.1 更改为 3.4.1

【讨论】:

【参考方案7】:

我正在使用 Angular,这对我有用,只需将 @babel/compat-data 的版本从 ^7.8.0 更改为 7.8.0,package-lock.json 的更新版本有错误。

在 package.json 中:

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

【讨论】:

是的“@babel/compat-data”:“7.9.0”,不起作用github.com/angular/angular-cli/issues/…【参考方案8】:

参考: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

    Angular CLI 可能会产生此类问题。转到package json并将其更改为

    build-angular": "0.803.17"

请不要加 ^ 或 ~

【讨论】:

【参考方案9】:

这只是一个 4 步过程。

原因: 这是因为 babel 中缺少一个包。即使您使用 ng new 命令创建 Angular 应用程序,也会发生这种情况。

解决方案

    在终端中使用以下代码安装plugin-proposal-numeric-separator

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

    完成后导航到文件,如下所示。

    node_modules > @babel > preset-env > available-plugins.js

    exports.default = void 0;下方的available-plugins.js中复制并粘贴以下代码。

    var _pluginProposalNumericSeparator = _interopRequireDefault(require("@babel/plugin-proposal-numeric-separator"));
    

    var _default对象声明中的available-plugins.js中复制并粘贴以下代码。

    "proposal-numeric-separator": _pluginProposalNumericSeparator.default,
    

它已经完成了。

【讨论】:

我认为这不是一个有效的解决方案,请关注这个帖子:***.com/questions/60780664/…【参考方案10】:

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

我在 10 分钟前刚刚使用过它,它运行良好。

Related issue going on github about this. Click Here!

【讨论】:

为我工作。最直接的答案恕我直言。 很高兴听到这个消息,谢谢安迪 B-) 谢谢,我厌倦了这里描述的其他方法,但第一次尝试就奏效了 我安装的@babel/preset-env 版本是7.8.6,安装完全相同的@babel/compat-data 版本对我有用!【参考方案11】:

在我的 Angular 8 应用程序中,虽然我没有任何直接依赖于 react-scripts 包并且在 package.json 中也没有它,但在构建时开始出现此错误。它很可能被其他包用作依赖项。

通过阅读github 上的这篇文章,我将它作为依赖项添加到 package.json "react-scripts": "3.4.1" 并运行 npm install 构建开始工作正常。

【讨论】:

【参考方案12】:

在 package.json 中

  "dependencies": 
    "@babel/compat-data": "7.8.0",
    "@babel/plugin-proposal-numeric-separator": "^7.8.3",
    "babel-loader": "^8.1.0",
  ....
  "resolutions": 
     "@babel/preset-env": "^7.8.7"
  

它对我有用。你可以阅读更多

https://github.com/angular/angular-cli/issues/17262#issuecomment-603396857

【讨论】:

【参考方案13】:

你可以使用这个命令,它对我有用。

npm i @babel/compat-data@7.8.0

【讨论】:

【参考方案14】:

Add SKIP_PREFLIGHT_CHECK=true to .env file 使构建工作而不弹出并按照以下步骤操作:

删除node_modulespackage-lock.json"resolutions": "@babel/preset-env": "^7.8.7" 添加到package.json 运行npm install npm-force-resolutions --save-dev 运行npm install 运行npx npm-force-resolutions 再次运行npm install 运行npm run build

【讨论】:

【参考方案15】:

这对我有用:

删除package-lock.json 删除node_modules 运行npm i

【讨论】:

【参考方案16】:

就我而言,我的node_modules 文件夹已损坏。 我的 yarn install 只是因为电涌而停在了中间。

通过运行:

rm -rf node_modules
yarn

我的问题解决了。

【讨论】:

【参考方案17】:

为我工作。 npm install @babel/compat-data@~7.8.0

【讨论】:

【参考方案18】:

试试这个,这个对我有用。

npm i @babel/compat-data@7.8.0

【讨论】:

以上是关于找不到插件“proposal-numeric-separator”的主要内容,如果未能解决你的问题,请参考以下文章

为啥vs2017找不到view in browser插件

为啥vs2017找不到view in browser插件

如何修复“在当前项目和插件组中找不到前缀'liquibase'的插件”

Kong 找不到自定义插件

Jupyterlab 插件安装后侧边栏找不到的解决

内部错误:找不到 SAX 插件