2012-04-09 37 views
89

npm update dường như chỉ cập nhật các gói trong số dependencies, nhưng còn khoảng devDependencies.Làm cách nào để cập nhật devDependencies trong NPM?

Ngay bây giờ bạn có thể cài đặt bằng cách chạy devDependenciesnpm install ., nhưng điều này không làm việc cho npm update .

ý tưởng Bất kỳ?

+0

Tôi chỉ chạy vào cùng một điều. Tôi ngạc nhiên về sự bất đối xứng này giữa 'npm install' và' npm update'. Tôi đã làm việc xung quanh nó bằng cách xóa thư mục 'node_modules' của tôi và sau đó chạy' npm install' một lần nữa, nhưng nó chắc chắn có vẻ như có một cách tốt hơn. –

+0

Yah, tôi cũng làm như vậy. – Matt

+7

Tôi đã mở [báo cáo lỗi] (https://github.com/isaacs/npm/issues/2369) về hành vi này. Chúng ta sẽ xem chuyện gì xảy ra. –

Trả lời

99

Để cập nhật package.json ngoài các module địa phương, chạy

npm update --save-dev 

Ngoài ra, các lệnh tương tự để tiết kiệm thời gian

npm update -D 

Bạn có thể xem đầy đủ chi tiết cập nhật hoặc bất kỳ lệnh nào cho vấn đề đó thông qua

npm help <cmd> 
+11

'npm update -D' không hoạt động đối với tôi, nó không cập nhật bất cứ thứ gì. – AmazingDreams

+11

Tại sao điều này được đánh dấu là câu trả lời chính xác khi câu hỏi không phải là cách lưu các cập nhật vào 'package.json' mà là cách làm cho' npm update' cập nhật devDependencies? –

+0

npm 5 hoạt động chính xác .. – onalbi

3

Một (chậm) cách để thực hiện cập nhật, là xóa thư mục node_modules và sau đó thực hiện lại npm install.

Đây là một lỗi được biết đến của npm update lệnh, mà đã được cố định trên các chi nhánh phát triển của npm, xem tại đây: https://github.com/isaacs/npm/pull/3863

Nó nên đất trên phiên bản ổn định mới nhất của NPM khá sớm.

+0

Trong trường hợp của npm> v5, bạn cũng cần xóa 'package-lock.json' để thực hiện tác vụ này, nếu không nó sẽ chỉ cài đặt các phiên bản được liệt kê trong tệp khóa đó. – karfau

2

Thêm phụ thuộc mới trong tập tin config.json,

sau đó chạy lệnh

npm update 

Đôi khi cần phải chạy lệnh với sudo cho đặc quyền admin sau đó sử dụng.

sudo npm update 
7

Vấn đề này không còn được thực hiện với phiên bản hiện tại của NPM (1.3.11).

Cập nhật hoạt động tốt với: npm update

2

Tôi chạy vào cùng một vấn đề như OP đã có, và không tìm thấy giải pháp, vì vậy tôi quyết định viết một plugin Grunt rằng sẽ tự động cập nhật devDependencies tôi ..

Đó là trên Github, tôi muốn nhận được một số đầu vào và hợp tác để biến nó trở thành công cụ tốt nhất mà NPM đã không cung cấp.

Về cơ bản, nó sẽ tự động cập nhật phụ thuộc phát triển đã lỗi thời của bạn với Nhiệm vụ Grunt đơn giản.

https://github.com/pgilad/grunt-dev-update

36

Install NPM-kiểm tra cập nhật (https://www.npmjs.org/package/npm-check-updates), sau đó nhảy vào thư mục dự án của bạn và chạy:

npm-check-updates 

Và để cập nhật và lưu thay đổi để gói của bạn.json file:

npm-check-updates -u 
+0

Thoát khỏi tiện ích hữu ích, cảm ơn bạn đã chia sẻ. –

3

Nếu bạn đang sử dụng phiên bản npm lỗi thời thì có thể là vấn đề. Vì vậy, trước bất kỳ lệnh khác thực hiện:

sudo npm install npm -g 

hoặc (nếu ở trên không hoạt động):

sudo npm update npm -g 

Sau đó relaunch giao diện điều khiển (theo thứ tự để thay đổi có hiệu lực thi hành). Bây giờ bạn có thể kiểm tra mới npm --version của bạn và nếu nó được cập nhật thực:

npm update 

hoặc (nếu bạn thích):

npm update --save-dev 
0

gì làm việc cho tôi được cài đặt phụ thuộc dev cá nhân như

này
npm install [email protected] --save --only=dev 
Các vấn đề liên quan