Tôi đang gặp vấn đề với ứng dụng góc cạnh xây dựng babel để sản xuất


15

Hành vi hiện tại Tôi đang xây dựng dự án góc cạnh của mình trên Circleci và nó vẫn thất bại với thông báo sau: Một ngoại lệ chưa được xử lý: Không thể tìm thấy mô-đun '@ babel / compat-data / corejs3-gửi-đề xuất'

Yêu cầu ngăn xếp:

/home/circleci/eleven-app/frontend/node_modules/@angular-devkit/build-angular/node_modules/@babel/preset-env/lib/polyfills/corejs3/usage-plugin.js
/home/circleci/eleven-app/frontend/node_modules/@angular-devkit/build-angular/node_modules/@babel/preset-env/lib/index.js
/home/circleci/eleven-app/frontend/node_modules/@angular-devkit/build-angular/node_modules/@babel/core/lib/config/files/plugins.js
/home/circleci/eleven-app/frontend/node_modules/@angular-devkit/build-angular/node_modules/@babel/core/lib/config/files/index.js
/home/circleci/eleven-app/frontend/node_modules/@angular-devkit/build-angular/node_modules/@babel/core/lib/index.js
/home/circleci/eleven-app/frontend/node_modules/@angular-devkit/build-angular/src/utils/process-bundle.js
/home/circleci/eleven-app/frontend/node_modules/jest-worker/build/workers/processChild.js

tôi đang dùng

{
  "@babel/plugin-proposal-numeric-separator": "^7.8.3",
  "core-js": "3.2.1",
  "tslib": "^1.11.1",
  "@babel/compat-data": "~7.8.0",
  "@babel/runtime-corejs3": "^7.9.2",
  "ts-node": "7.0.0",
  "tslint": "5.11.0",
  "typescript": "3.5.3",
}
resolutions: {
  "@babel/preset-env": "^7.8.7"
}

đây là npx nls tại sao đầu ra @ babel / preset-env:

eleven-app-frontend > @angular-devkit/build-angular > @babel/preset-env@7.8.7
eleven-app-frontend > @nrwl/angular > @nrwl/cypress > @cypress/webpack-preprocessor > @babel/preset-env@7.9.5
eleven-app-frontend > @nrwl/cypress > @cypress/webpack-preprocessor > @babel/preset-env@7.9.5

Cảm ơn bạn đã đọc.

Câu trả lời:


6

Có cùng một vấn đề ngày hôm nay, vì vậy tôi cho rằng có gì đó kỳ lạ với phiên bản mới nhất.

Gói.json của tôi có như sau:

"@babel/compat-data": "~7.9.0"

Tôi đã loại bỏ ~ để buộc 7.9.0 thay vì cho phép những cái mới hơn và nó đã giúp tôi.

Có thể có một phiên bản mới hơn hoạt động nhưng vì bạn đã mở một vấn đề cho họ ( https://github.com/babel/babel/issues/11427 ) Tôi sẽ chỉ chờ thêm chi tiết.


1
Tôi đang xem xét cùng một vấn đề, thật lạ vì thư viện đó cũng @babel/runtime-corejs3chưa được xuất bản trong vài tuần
alex88

1
Tôi đã thử điều đó và nó vẫn không hiệu quả với tôi
Farid Garciayala

1
@FaridGarciayala trong trường hợp của tôi, tôi đã phải khai báo và sử dụng 7.9.0 để khắc phục sự cố
alex88

@FaridGarciayala nó sẽ hoạt động (7.8 / 7.9) nhưng hãy thử xóa "node_modules" trước
Bruno Wolff

Vấn đề tương tự ngày hôm nay. Vấn đề chỉ có ở máy chủ xây dựng, không phải cài đặt sạch tại địa phương ...
cuniculus

5

Tôi cũng gặp vấn đề tương tự khi sử dụng TravisCI & Vue với Jest và Babel. Bộ đồ thử nghiệm của tôi đã thất bại. Thêm "@babel/compat-data": "7.9.0"vào devDependencies trong tôi package.json tập giải quyết vấn đề của tôi.


Cảm ơn bạn. Điều này giúp tôi khắc phục bộ kiểm tra thất bại của mình trên CI.
Miroslav Jonas

4

3 tùy chọn chúng tôi đã đưa ra cho đến nay:

  • Sự phụ thuộc thích ứng của babel / preset-env đến v7.9.0: "@babel/preset-env": "=7.9.0"
  • Trong trường hợp bạn sử dụng NodeJS Docker Image, hãy sửa phiên bản thành thứ gì đó bên dưới 13.13, tức là: node:13.12.0-alpine
  • Thêm hoặc nâng cấp "@babel/compat-data": "7.9.0"lên devDependencies

Các giải pháp tạm thời và nên được loại bỏ ngay khi có một sửa chữa thực sự của hình ảnh nút hoặc thư viện babel / preset-env.

Các vấn đề về Github được liên kết:

babel - https://github.com/babel/babel/issues/11427

nodejs - https://github.com/nodejs/node/issues/32852#issuecomment-613652057


2

Hôm nay tôi đã gặp vấn đề tương tự trong bản dựng Github Action cho dự án Vue FE. Nó xây dựng tốt tại địa phương. Tôi sẽ thử giải pháp ở trên và tôi sẽ báo cáo lại ...

Cập nhật: Sau khi xem qua tệp khóa gói, giải pháp của tôi là thêm rõ ràng "@ babel / compat-data" vào các phụ thuộc prod. Trước đây nó chỉ là một phụ thuộc cho một số phụ thuộc dev. Vì vậy, gói.json của tôi bây giờ trông như sau:

"dependencies": {
  "@babel/compat-data": "^7.8.6",
  ...

1

Cùng một vấn đề. Đã giải quyết nó bằng cách làm theo các lời khuyên ở trên + loại bỏ node_modules (xem chủ đề github này ):

  • Đã thêm một cách rõ ràng @babel/compat-data": "7.9.0"vào devDependencies
  • Nút được nâng cấp (13.3 đến 14.0 trong trường hợp của tôi)
  • Phải xóa thư mục node_modules của tôi và chạy lại yarn(hoặc npm)
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.