Nhóm của chúng tôi vừa cập nhật thành npm @ 5. package-lock.json
được thống nhất giữa Windows và Mac (một số phụ thuộc nhất định là tùy chọn để chúng không được cài đặt trên Windows, nhưng chúng thực hiện trên Mac) sao cho không có vấn đề gì với máy, chúng ta sẽ tạo cấu trúc node_modules giống nhau. Đó diễn ra tốt đẹp, sau đó mỗi người trong số các thành viên trong nhóm đã trải qua các bước sau:"Yêu cầu: đúng" là gì trong package-lock.json
rm -rf node_modules
git pull
npm install
Điều này thực sự đã đi một cách hoàn hảo cho tất cả các thành viên trong nhóm ngoại trừ một người đã sửa đổi package-lock.json
sau npm install
. Một dòng được sửa đổi là nó đã xóa "requires": true
.
Vì vậy, tôi thấy:
{
...
"version": "0.0.1",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
...
}
Nhưng anh nhìn thấy:
{
...
"version": "0.0.1",
"lockfileVersion": 1,
"dependencies": {
...
}
Có ai biết tại sao requires: true
có thể được gỡ bỏ từ package-lock.json
tập tin trên một số máy nhưng không phải những người khác? Ngoài ra, một chút giải thích về những gì tài sản này sẽ không làm tổn thương. :)
Cảm ơn trước!
Tôi gặp vấn đề tương tự. Tôi đang sử dụng 'nút 8.1.2' và' npm 5.0.4'. Nhìn vào tài liệu của họ, không có đề cập đến bất kỳ 'yêu cầu'. Tôi cũng tò mò về những gì đang làm.Lưu ý rằng, loại bỏ nó dường như không thực sự phá vỡ bất cứ điều gì (hoạt động trên máy chủ CI và dàn dựng của chúng tôi) – lkartono
Cập nhật: có vẻ như nó liên quan đến phiên bản npm. Chỉ cần cập nhật thành 'npm 5.1.0' và' require: true' biến mất. Tuy nhiên, tất cả các phụ thuộc của tôi đều có khóa 'require' ngay bây giờ. Tôi nghĩ rằng 'yêu cầu: true' lực' package-lock.json' để liệt kê một cách lồng nhau, phụ thuộc 'phụ thuộc. – lkartono
Xem https://github.com/npm/npm/pull/19307 cho một PR di chuyển giải thích từ tệp spec vào trang trợ giúp –