Không thể tìm thấy plugin đề xuất-số-phân tách số


61

Cách khắc phục Could not find plugin "proposal-numeric-separator", tôi gặp lỗi này khi thử xây dựng ứng dụng React của mình, tôi chưa gỡ bỏ ứng dụng này:

./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.

Tôi đã cố tải xuống Babel và Bộ tách số đề xuất phụ thuộc, loại bỏ các Mô-đun nút, làm sạch bộ đệm Sợi; nhưng không có gì làm việc

Tôi đang sử dụng Sợi 1.22.4 và Nút 13.11.0, nhưng tôi cũng đã thử với NPM 6.13.7.


5
Im có cùng một vấn đề. +1
dân

2
Những người khác cũng gặp vấn đề tương tự: reddit.com/r/angular/comments/flymj5/build_failing_please_help Giải pháp được đề xuất không phù hợp với tôi.
dân

Câu trả lời:


46

Các công việc sau đây

  1. Thêm vào "resolutions": { "@babel/preset-env": "7.5.5" },

    để package.json.

  2. Chạy npx npm-force-resolutions

  3. Chạy npm install hay yarn.

  4. Chạy yarn buildđể xây dựng dự án của bạn

Hãy xem vấn đề Github này


1
Chỉ cần thêm resolutions, loại bỏ node_modules và cài đặt các phụ thuộc. Nó đã làm việc, cảm ơn. Quan sát : Tôi đã thử nghiệm bản dựng và mọi thứ đều ổn.
Walter

1
Người đàn ông, bạn cứu mạng tôi. Làm thế nào để bạn biết về câu trả lời này? Bạn đã có được như tôi tuyệt vời, bạn thân. Cảm ơn rất nhiều.
Carlos Querioz

1
@CarlosQuerioz Tôi nghĩ rằng lý do là chủ đề cuối cùng trong tài liệu này : "Sự phụ thuộc của bạn xác định một phạm vi phiên bản rộng và sự phụ thuộc của bạn chỉ có một bản cập nhật có vấn đề nên bạn muốn ghim nó vào phiên bản cũ hơn"
Walter

1
đã làm việc! 24 tháng 3 năm 2020
Josh

2
@ user3746480 Đó là một vấn đề với các phụ thuộc babel. Nguyên nhân có thể xảy ra nhất có thể là loại bỏ hoặc cập nhật các mô-đun nút. Đó là lý do tại sao việc thi hành một phiên bản làm việc nhất định sẽ sửa nó
Hillkim Henry


15

Từ vấn đề tương ứng trong ứng dụng tạo-phản ứng,

Cập nhật tập lệnh React thành 3.4.1 trong tệp pack.json của bạn và xóa node_modules cũng như gói-lock.json / Sợi.lock và cài đặt lại.


Nó cũng có tác dụng với tôi. Tôi nghĩ nó đơn giản hơn.
Carlos Querioz

10

Tại sao vấn đề này xảy ra ?:

Đây là một vấn đề xung đột giữa các gói nội bộ được sử dụng bởi babel.

Thêm một plugin mới để @babel/compat-dataphá vỡ @babel/preset-envcác phiên bản cũ . Điều này là do preset-envlặp đi lặp lại compat-datacác plugin và ném nếu plugin không được xác định trong available-plugins.jstệp cài đặt sẵn .

Đây là sự hợp nhất đã khắc phục sự cố: https://github.com/babel/babel/pull/11201/files/a88a00750c61ff89f1622d408d67108719f21ecd

Giải pháp :

  • Xóa package-lock.jsonhoặcyarn.lock
  • Xóa node_modulesthư mục
  • Trong package.jontôi đã điều chỉnh số phiên bản của các gói này thành:
    ...
    "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"
    }
  • Chạy npm install
  • Chạy npm run build

6

Tôi vừa thay đổi phiên bản Reac-script từ 3.0.1 sang 3.4.1


2
Tôi đã sử dụng phiên bản này (:
Walter

6

Tham khảo: https://github.com/angular/angular-cli/issues/17262

Tôi tìm thấy hai giải pháp

a) Cài đặt compat babel

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

b) Cài đặt trình phân tách plugin-đề xuất-số

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

chỉ cài đặt phiên bản này 7.8.0

  1. Angular CLI có thể tạo ra loại vấn đề này. Chuyển đến gói json và thay đổi nó thành

    xây dựng góc cạnh ":" 0,804,17 "

vui lòng không thêm ^ hoặc ~ .


6

Bạn có thể sử dụng lệnh này, đã làm việc cho tôi.

npm i @babel/compat-data@7.8.0

Cảm ơn người đàn ông! Nó đã làm việc!
Gaurav Gupta

5

Tôi đã đối mặt với vấn đề tương tự và tôi đã có thể khắc phục bằng cách cập nhật tất cả các phụ thuộc babel lên phiên bản mới nhất. Tôi không nhận thức được vấn đề chính xác với babel. Tuy nhiên, bước được đề cập dưới đây làm việc cho tôi.

Bước 1: xác định và xóa tất cả các phụ thuộc liên quan đến babel khỏi pack.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

Bước 2: cài đặt lại phụ thuộc 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: Danh sách phụ thuộc babel ở trên sẽ khác nhau cho dự án của bạn.


5

Tôi đang sử dụng angular và điều này hiệu quả với tôi, chỉ đơn giản là thay đổi phiên bản @ babel / compat-data từ ^7.8.0thành 7.8.0, gói-lock.json đang có phiên bản mới hơn có lỗi.

Bên trong gói.json:

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

1
có "@ babel / compat-data": "7.9.0", không hoạt động github.com/angular/angular-cli/issues/ trộm
Gerardo Perrucci


4

Nó chỉ là một quá trình 4 bước.

Lý do: Điều này xảy ra vì một gói bị thiếu trong babel. Điều này sẽ xảy ra ngay cả khi bạn tạo ứng dụng góc bằng ng newlệnh.

Giải pháp

  1. Cài đặt plugin-proposal-numeric-separatorbằng mã sau trong thiết bị đầu cuối.

    npm install --save @babel/plugin-proposal-numeric-separator
  2. Một khi nó được thực hiện điều hướng đến các tập tin như dưới đây.

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

  3. Trong các plugin có sẵn dưới đây exports.default = void 0;sao chép và dán mã sau đây.

    var _pluginProposalNumericSeparator = _interopRequireDefault(require("@babel/plugin-proposal-numeric-separator"));
  4. Trong các plugins.js có sẵn trong var _defaultbản sao khai báo đối tượng và dán đoạn mã sau.

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

Và nó đã được thực hiện.


Tôi nghĩ rằng đó không phải là một giải pháp hợp lệ, xin vui lòng làm theo chủ đề này: stackoverflow.com/questions/60780664/ mẹo
Gerardo Perrucci

4

Trong ứng dụng 8 góc của tôi, mặc dù tôi không có bất kỳ sự phụ thuộc trực tiếp nào vào gói phản ứng kịch bản và cũng không có nó trong package.jsonkhi bắt đầu gặp lỗi này khi xây dựng. Nó có thể được sử dụng như là một phụ tùng của các gói khác.

Bằng cách đọc bài đăng này trên github , tôi đã thêm nó dưới dạng phụ thuộc trong gói.json "react-scripts": "3.4.1"và chạy npm cài đặt, bản dựng bắt đầu hoạt động tốt.


1

Điều này làm việc cho tôi:

  • Xóa bỏ package-lock.json
  • Xóa bỏ node_modules
  • Chạy npm i

0

Thêm SKIP_PREFLIGHT_CHECK=truevào .envtệp để làm cho công việc xây dựng mà không cần đẩy ra và làm theo các bước dưới đây:

  • Xóa node_modulespackage-lock.json
  • Thêm "resolutions": { "@babel/preset-env": "^7.8.7" }vàopackage.json
  • Chạy npm install npm-force-resolutions --save-dev
  • Chạy npm install
  • Chạy npx npm-force-resolutions
  • Chạy npm installlại
  • Chạy npm run build

-2

Tôi chỉ có điều này xảy ra với tôi. Để sửa nó, tôi chạy yarn buildvới đặc quyền sudo.


Điều này đã không làm việc cho tôi.
dân

Đừng làm việc ở đây
Walter
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.