2016-12-08 21 views
5

gì chạy:NPM động cập nhật với NPM-shrinkwrap.json

npm update 

làm gì nếu một tập tin NPM-shrinkwrap.json tồn tại? Liệu nó

  1. Cập nhật các phụ thuộc để phù hợp với tập tin shrinkwrap.json
  2. Cập nhật các phụ thuộc để tuân package.json (do đó bỏ qua các tập tin shrinkwrap.json)
  3. Không làm bất cứ điều gì

Cảm ơn trước

Trả lời

4

Khi bạn chạy

npm update 

Nó sẽ cập nhật phụ thuộc để tuân package.json và sẽ không quan tâm những gì được lưu trữ trong npm-shrinkwrap.json ngay cả khi node_modules thư mục rỗng có nghĩa là cập nhật lệnh sẽ cài đặt sử dụng package.json trong khi cài đặt lệnh sẽ sử dụng npm-shrinkwrap.json.

Nó không thực hiện bất kỳ ý nghĩa để tuân theo các tập tin shrinkwrap [trong hầu hết các trường hợp.]

Lý do

  • Nó được coi là một bản chụp của gói tại một số điểm ổn định và điều này làm cho nó hoàn hảo cho mã sản xuất.

  • Không có ^, ~, latest vv trong tệp shrinkwrap.

  • Và chúng tôi cũng biết rằng tập tin shrinkwrap không phải được can thiệp bằng tay sử dụng biên tập
  • Vì vậy, tất cả chúng ta có thể làm là quay trở lại một số trạng thái trước đó phụ thuộc sử dụng lệnh này và điều này có thể đạt được bằng NPM cài đặt

Tuy nhiên khi bạn chạy

npm install 

Nó sau tập shrinkwrap.

Nhưng khi bạn chạy

npm install newPkg --save 

Nó sẽ thay đổi cả package.jsonnpm-shrinkwrap.json tập tin cũng

Nhưng khi bạn chạy

npm update pkg --save 

Nó sẽ thay đổi chỉ npm-shrinkwrap.json tập tin và như tôi đã viết trước khi nó sẽ sử dụng package.json tệp để cập nhật theo semver

Các vấn đề liên quan