ไม่พบปลั๊กอิน“ ข้อเสนอเชิงตัวเลข - ตัวแยก”


60

วิธีแก้ไข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 และตัวแยกตัวเลขข้อเสนอการอ้างอิงเอาโมดูลโหนดทำความสะอาดแคชเส้นด้าย; แต่ไม่มีอะไรทำงาน

ฉันใช้ Yarn 1.22.4 และ Node 13.11.0 แต่ฉันได้ลองด้วย NPM 6.13.7


5
ฉันมีปัญหาเดียวกัน +1
peoplespete

2
คนอื่นกำลังมีปัญหาเดียวกัน: reddit.com/r/angular/comments/flymj5/build_failing_please_helpโซลูชันที่แนะนำไม่ได้ผลสำหรับฉัน
pe ประชาชนpete

คำตอบ:


45

ผลงานดังต่อไปนี้

  1. เพิ่ม "resolutions": { "@babel/preset-env": "7.5.5" },

    package.jsonไปยัง

  2. วิ่ง npx npm-force-resolutions

  3. เรียกใช้ หรือnpm installyarn

  4. วิ่งyarn buildเพื่อสร้างโครงการของคุณ

ดูที่ Github ฉบับนี้


1
เพิ่งเพิ่มresolutionsลบnode_modulesและติดตั้งการพึ่งพา มันได้ผลขอบคุณ การสังเกต : ฉันได้ทดสอบการสร้างและทุกอย่างก็โอเค
วอลเตอร์

1
คุณช่วยชีวิตฉันไว้ คุณรู้เกี่ยวกับคำตอบนี้ได้อย่างไร คุณมีเพื่อนที่น่ากลัวของฉัน ขอบคุณมาก.
Carlos Querioz

1
@CarlosQuerioz ฉันคิดว่าเหตุผลคือหัวข้อสุดท้ายจากเอกสารนี้ : "การอ้างอิงของคุณกำหนดช่วงเวอร์ชันกว้างและการพึ่งพาย่อยของคุณเพิ่งได้รับการอัปเดตที่มีปัญหาดังนั้นคุณจึงต้องการตรึงไว้กับรุ่นก่อนหน้า"
Walter

1
ทำงาน! 24 มีนาคม 2020
Josh

2
@ user3746480 เป็นปัญหากับการอ้างอิงแบบบาเบล สาเหตุที่น่าจะเป็นไปได้มากที่สุดคือการลบหรือปรับปรุงโมดูลโหนด นั่นเป็นสาเหตุที่การบังคับใช้เวอร์ชันการทำงานที่กำหนดแก้ไขได้
Hillkim Henry

31

ลองสิ่งนี้มันใช้งานได้: npm i @babel/compat-data@7.8.0

ฉันเพิ่งใช้มันเหมือนเมื่อ 10 นาทีที่แล้วและมันก็ใช้ได้ดี

ปัญหาที่เกี่ยวข้องเกิดขึ้นเกี่ยวกับ GitHub นี้ คลิกที่นี่!


1
ได้ผลสำหรับฉัน คำตอบที่ตรงที่สุด IMHO
El Mac

1
ฉันดีใจที่ได้ผลกับคุณขอบคุณ :)
Wahab Shah

15

จากความสอดคล้อง ปัญหาที่ใน create-react-app

อัพเดต react-สคริปต์เป็น 3.4.1 ในไฟล์ package.json ของคุณและลบ node_modules รวมถึง package-lock.json / yarn.lock และติดตั้งใหม่


มันเหมาะกับฉันด้วย ฉันคิดว่ามันง่ายขึ้น
Carlos Querioz

10

ทำไมปัญหานี้เกิดขึ้น ?:

babelมันเป็นปัญหาของความขัดแย้งระหว่างแพคเกจที่ใช้โดยภายใน

การเพิ่มปลั๊กอินใหม่เพื่อ@babel/compat-dataแยก@babel/preset-envเวอร์ชันเก่าออก นี่เป็นเพราะpreset-envซ้ำผ่านcompat-dataปลั๊กอินของและโยนถ้าปลั๊กอินไม่ได้กำหนดไว้ในavailable-plugins.jsไฟล์ของ preset-env

นี่คือการผสานที่แก้ไขปัญหา: https://github.com/babel/babel/pull/11201/files/a88a00750c61ff89f1622d408d67108719f21ecd

วิธีแก้ปัญหา :

  • ลบpackage-lock.jsonหรือyarn.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


6

การอ้างอิง: https://github.com/angular/angular-cli/issues/17262

ฉันพบวิธีแก้ปัญหาสองข้อ

a) ติดตั้ง babel compat

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

b) ติดตั้งปลั๊กอิน - ข้อเสนอ - ตัวเลข - ตัวแยก

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

ติดตั้งรุ่นนี้เท่านั้น 7.8.0

  1. CLI เชิงมุมสามารถสร้างปัญหาประเภทนี้ได้ ไปที่ package json และเปลี่ยนเป็น

    build-angular ":" 0.803.17 "

โปรดอย่าเพิ่ม ^ หรือ ~



5

ฉันประสบปัญหาที่คล้ายกันและฉันสามารถแก้ไขได้โดยอัปเดตการอ้างอิง Babel ทั้งหมดเป็นเวอร์ชันล่าสุด ฉันไม่ได้ตระหนักถึงปัญหาที่แน่นอนกับ Babel อย่างไรก็ตามขั้นตอนที่กล่าวถึงด้านล่างใช้งานได้สำหรับฉัน

ขั้นตอนที่ 1: ระบุและลบการอ้างอิงที่เกี่ยวข้องกับ Babel ทั้งหมดออกจาก 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

ขั้นตอนที่ 2: ติดตั้งอ้างอิงบาเบลอีกครั้ง

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: รายการด้านบนของการพึ่งพาบาเบลจะแตกต่างกันสำหรับโครงการของคุณ


5

ฉันกำลังใช้มุมและสิ่งนี้ใช้งานได้สำหรับฉันเพียงแค่เปลี่ยนรุ่นของ @ babel / compat-data จาก^7.8.0เป็นเพียง7.8.0 package-lock.json กำลังมีรุ่นที่ใหม่กว่าซึ่งมีข้อบกพร่อง

ภายใน package.json:

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

1
ใช่ "@ babel / compat-data": "7.9.0" ไม่ทำงานgithub.com/angular/angular-cli/issues/…
Gerardo Perrucci


4

มันเป็นเพียงกระบวนการขั้นตอนที่ 4

เหตุผล: สิ่งนี้เกิดขึ้นเนื่องจากแพ็คเกจที่ขาดหายไปใน Babel สิ่งนี้จะเกิดขึ้นแม้ว่าคุณจะสร้างแอปเชิงมุมโดยใช้ng newคำสั่ง

สารละลาย

  1. ติดตั้งplugin-proposal-numeric-separatorโดยใช้รหัสต่อไปนี้ใน terminal

    npm install --save @babel/plugin-proposal-numeric-separator
  2. เมื่อเสร็จแล้วให้ไปที่ไฟล์ดังที่แสดงด้านล่าง

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

  3. ใน available-plugins.js ด้านล่างexports.default = void 0;คัดลอกและวางรหัสต่อไปนี้

    var _pluginProposalNumericSeparator = _interopRequireDefault(require("@babel/plugin-proposal-numeric-separator"));
  4. ใน available-plugins.js ภายในvar _defaultคัดลอกประกาศวัตถุและวางรหัสต่อไปนี้

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

และมันก็ทำ


ฉันคิดว่านั่นไม่ใช่ทางออกที่ถูกต้องโปรดติดตามกระทู้นี้: stackoverflow.com/questions/60780664/…
Gerardo Perrucci

4

ในแอปพลิเคชันเชิงมุม 8 ของฉันแม้ว่าฉันจะไม่ได้มีการพึ่งพาโดยตรงของแพคเกจปฏิกิริยาสคริปต์และไม่ได้อยู่ในpackage.jsonอย่างใดอย่างหนึ่ง แต่เริ่มได้รับข้อผิดพลาดนี้ในการสร้าง มันน่าจะใช้เป็น depedancy โดย packges อื่น ๆ

โดยการอ่านโพสต์นี้ในgithubฉันเพิ่มมันเป็น"react-scripts": "3.4.1"พึ่งพาใน package.json และเรียกใช้การติดตั้ง npm เริ่มสร้างทำงานได้ดี



0

เพิ่มSKIP_PREFLIGHT_CHECK=trueไปยัง.envไฟล์เพื่อสร้างงานโดยไม่ต้องนำออกและปฏิบัติตามขั้นตอนด้านล่าง:

  • ลบnode_modulesและpackage-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

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.