Could not find plugin "proposal-numeric-separator"
ReactjsBuildYarnpkgReactjs Problem Overview
How to fix Could not find plugin "proposal-numeric-separator"
, I get this error when I try to build my React application, I have not ejected the application yet:
./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.
I have tried to download Babel and the dependency Proposal Numeric Separator, remove the Node Modules, clean the Yarn cache; but nothing worked.
I'm using Yarn 1.22.4 and Node 13.11.0, but I have also tried with NPM 6.13.7.
Reactjs Solutions
Solution 1 - Reactjs
The following steps work:
- Add the following line to
package.json
:
"resolutions": {
"@babel/preset-env": "7.5.5"
},
- Run the following command:
$ npx npm-force-resolutions
- Install dependencies:
$ npm install
# or
$ yarn
- Build your project:
$ yarn build
Take a look at this Github Issue
Solution 2 - Reactjs
Try this, it works: npm i @babel/[email protected]
I have just used it like 10 minutes ago, and it's working fine.
Solution 3 - Reactjs
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.
Solution 4 - Reactjs
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
oryarn.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
Solution 5 - Reactjs
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
-
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 ~ .
Solution 6 - Reactjs
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.
Solution 7 - Reactjs
I just changed react-script version from 3.0.1 to 3.4.1
Solution 8 - Reactjs
You can use this command, which has worked for me.
npm i @babel/compat-data@7.8.0
Solution 9 - Reactjs
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",
}
Solution 10 - Reactjs
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
Solution 11 - Reactjs
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
-
Install
plugin-proposal-numeric-separator
using the following code in terminal.npm install --save @babel/plugin-proposal-numeric-separator
-
Once it is done navigate to the file as shown below.
node_modules > @babel > preset-env > available-plugins.js
-
In available-plugins.js below
exports.default = void 0;
copy and paste the following code.var _pluginProposalNumericSeparator = _interopRequireDefault(require("@babel/plugin-proposal-numeric-separator"));
-
In available-plugins.js within
var _default
object declaration copy and paste the following code."proposal-numeric-separator": _pluginProposalNumericSeparator.default,
And it is done.
Solution 12 - Reactjs
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.
Solution 13 - Reactjs
This worked for me:
- Delete
package-lock.json
- Delete
node_modules
- Run
npm i
Solution 14 - Reactjs
try this , this working with me .
npm i @babel/compat-data@7.8.0
Solution 15 - Reactjs
Add SKIP_PREFLIGHT_CHECK=true
to .env
file to make the build work without ejecting and follow the below steps:
-
Delete
node_modules
andpackage-lock.json
-
Add
"resolutions": { "@babel/preset-env": "^7.8.7" }
topackage.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
Solution 16 - Reactjs
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.
Solution 17 - Reactjs
worked for me. npm install @babel/compat-data@~7.8.0
Solution 18 - Reactjs
I just had this happen to me. The To fix it I ran yarn build
with sudo privileges.