找不到插件“建议-数字-分隔符”

如何修复 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 和依赖项 ProposationNumeric 分离器,删除节点模块,清理纱线缓存,但都不起作用。

我正在使用 Yarn1.22.4和 Node13.11.0,但是我也尝试使用 NPM 6.13.7。

44410 次浏览

I just had this happen to me. The To fix it I ran yarn build with sudo privileges.

The following steps work:

  1. Add the following line to package.json:
"resolutions": {
"@babel/preset-env": "7.5.5"
},
  1. Run the following command:
$ npx npm-force-resolutions
  1. Install dependencies:
$ npm install
# or
$ yarn
  1. Build your project:
$ yarn build

Take a look at this Github Issue

Why this problem happened?:

It's an issue of conflicts between internal packages used by babel.

Adding a new plugin to @babel/compat-data breaks old @babel/preset-env versions. This is because preset-env iterates over compat-data's plugins, and throws if the plugin isn't defined in preset-env's available-plugins.js file.

This is the merge that fixed the issue: https://github.com/babel/babel/pull/11201/files/a88a00750c61ff89f1622d408d67108719f21ecd

Solution:

  • Delete package-lock.json or yarn.lock
  • Delete node_modules folder
  • In package.jon I have adjusted the version numbers of these packages to:
    ...
"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"
}
  • Run npm install
  • Run npm run build

I faced similar issue and i was able to fix it by updating all babel dependencies to latest version. I'm not aware of the exact issue with babel. However, the below mentioned step worked for me.

Step 1: identify and remove all babel related dependencies from package.json

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

Step 2: re-install babel dependencies

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: The above list of babel dependencies will differ for your project.

From the corresponding issue in create-react-app,

Update react-scripts to 3.4.1 in your package.json file and remove node_modules as well as package-lock.json/yarn.lock and re-install.

I just changed react-script version from 3.0.1 to 3.4.1

I'm using angular & this worked for me, simply changed the version of @babel/compat-data from ^7.8.0 to just 7.8.0, the package-lock.json is having newer version which has bugs.

Inside package.json:

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

Reference: https://github.com/angular/angular-cli/issues/17262

I found two solution

a ) Install babel compat

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

b) Install plugin-proposal-numeric-separator

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

install this version only 7.8.0

  1. Angular CLI can create this kind of issue. Go to package json and change it to

    build-angular": "0.803.17"

please don't add ^ or ~ .

Its just a 4 step process.

Reason: This happens because of a package missing in babel. This will happen even if you create angular app using ng new command.

Solution

  1. Install plugin-proposal-numeric-separator using the following code in terminal.

    npm install --save @babel/plugin-proposal-numeric-separator
    
  2. Once it is done navigate to the file as shown below.

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

  3. In available-plugins.js below exports.default = void 0; copy and paste the following code.

    var _pluginProposalNumericSeparator = _interopRequireDefault(require("@babel/plugin-proposal-numeric-separator"));
    
  4. In available-plugins.js within var _default object declaration copy and paste the following code.

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

And it is done.

Try this, it works: npm i @babel/compat-data@7.8.0

I have just used it like 10 minutes ago, and it's working fine.

Related issue going on github about this. Click Here!

In my angular 8 application, although I did not have any direct dependancy of react-scripts package and did not have it in package.json either but started getting this error on build. It was likely used as a depedancy by other packges.

By reading this post on github, I added it as dependancy in package.json "react-scripts": "3.4.1" and run npm install the build started working just fine.

In 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"
}

it is working for me. You can read more

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

You can use this command, which has worked for me.

npm i @babel/compat-data@7.8.0

Add SKIP_PREFLIGHT_CHECK=true to .env file to make the build work without ejecting and follow the below steps:

  • Delete node_modules and package-lock.json
  • Add "resolutions": { "@babel/preset-env": "^7.8.7" } to package.json
  • Run npm install npm-force-resolutions --save-dev
  • Run npm install
  • Run npx npm-force-resolutions
  • Run npm install again
  • Run npm run build

This worked for me:

  • Delete package-lock.json
  • Delete node_modules
  • Run npm i

In my case I've got a corrupted node_modules folder. My yarn install simply stopped in the middle by a power surge.

By running:

rm -rf node_modules
yarn

My problem was solved.

worked for me. npm install @babel/compat-data@~7.8.0

try this , this working with me .

npm i @babel/compat-data@7.8.0