NPM-AUDIT tìm thấy lỗ hổng cao. Tôi phải làm gì bây giờ?


13

npm audit chạy trên dự án của tôi và đã cho tôi cái này

Sự
phụ thuộc vào lệnh tiêm cao của @ angular-devkit / build-angular [dev]

Đường dẫn @ angular-devkit / build-angular> @ ngtools / webpack> cây-kill

Thêm thông tin https://npmjs.com/advisories/1432

Lệnh tiêm cao

Gói giết cây

Đã vá trong> = 1.2.2

Sự phụ thuộc của @ angular-devkit / build-angular [dev]

Đường dẫn @ angular-devkit / build-angular> cây-kill

Thêm thông tin https://npmjs.com/advisories/1432

Tree-kill cần được cập nhật, nhưng là một dep của góc, không phải của tôi. Vậy thì sao? Cần phải chờ đợi rằng nhóm góc cạnh cập nhật gói.j.j của riêng mình lên phiên bản mới hơn của việc diệt cây?

Câu trả lời:


11

Bạn có thể sửa lỗi này mà không cần chờ phiên bản mới của gói @angular-devkit/build-angular.

Chỉ cần làm các bước sau:

  1. Cập nhật package.jsontệp của bạn bằng cách thêm resolutionsphần với phiên bản gói phù hợp tree-kill:
"resolutions": {
  "tree-kill": "1.2.2"
}
  1. Cập nhật package-lock.jsonbằng cách chạy lệnh:
npx npm-force-resolutions
  1. Cài đặt lại các gói NPM trong dự án của bạn:
rm -r node_modules
npm install

Chạy npm auditđể kiểm tra xem dự án của bạn không còn vấn đề này nữa. Và đừng quên cam kết sửa đổi các tập tin package.jsonpackage-lock.json.

Thông tin thêm về Nghị quyết NPM Force .


11

Tôi đã có cùng một vấn đề ngày hôm nay và tôi đã khắc phục nó bằng cách:

  1. xóa gói diệt cây khỏi thư mục node_modules.
  2. xóa tệp pack-lock.json.
  3. đi tới thư mục @ angular-devkit / build-angular trong thư mục node_modules và chỉnh sửa tệp pack.json; thay đổi phiên bản diệt cây từ 1.2.1 sang 1.2.2
  4. đi tới thư mục @ ngtools / webpack trong thư mục node_modules và thực hiện tương tự như bước 3.

chạy npm cài đặt sau đó.


1
Vì vậy, bằng cách sửa lỗi này, tôi phải giữ thư mục node_modules với Git phải không?
Loki

Tôi không chắc chắn nếu tôi có câu hỏi của bạn đúng, nhưng bạn cần phải cam kết những thay đổi mới sau khi cài đặt mới.
saleem

1
chỉnh sửa thủ công các phụ thuộc của bạn không phải là một ý tưởng hay, vì thực hiện cài đặt mới của dự án sẽ đại diện cho vấn đề
Nemus

2

Tôi cũng gặp vấn đề này và sau một số nghiên cứu, tôi đã tìm thấy một cái gì đó:

NPM đưa ra lỗi về "sửa lỗi kiểm toán" - Đăng ký được cấu hình không được hỗ trợ

Tất nhiên, đó là về một vấn đề khác, nhưng bằng cách điều chỉnh giải pháp được đưa ra, nó đã giải quyết vấn đề của tôi.

Vì thế :

  • Xóa thư mục node_modules của cây-kill
  • Chỉnh sửa tệp pack-lock.json giống như đã hoàn thành nhưng thay vào đó với mô-đun diệt cây.
  • Đừng quên chạy cài đặt npm ở cuối

Tôi hy vọng tôi đã đủ rõ ràng.


Làm cách nào tôi có thể chỉnh sửa gói-lock.json trong bước thứ hai nếu nó bị xóa khi xóa thư mục node_modules của cây-kill trong bước 1?
Mauricio Martinez


0
  1. Xóa gói giết cây khỏi thư mục node_modules & Xóa
    tệp gói-lock.json.

  2. Tìm thư mục @ angular-devkit / build-angular trong thư mục node_modules và chỉnh sửa tệp pack.json; thay đổi phiên bản diệt cây từ 1.2.1 thành 1.2.2
    Tìm @ ngtools / webpack trong thư mục node_modules và chỉnh sửa tệp pack.json; thay đổi phiên bản diệt cây từ 1.2.1 sang 1.2.2

  3. chạy cài đặt npm.

0

Thêm mã dưới đây vào pack.json

"resolutions": {
"tree-kill":"1.2.2"
}

Xóa tất cả các mô-đun nút:

rm -r node_modules

Cập nhật gói-lock.json cho phiên bản mới 1.2.2 như:

npx npm-force-resolutions

Bây giờ cài đặt các mô-đun nút:

npm install

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

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.