Sự khác biệt giữa NPM và NVM


82

Tôi biết npm là trình quản lý gói và nvm là trình quản lý phiên bản nút. Tôi hiện đang cố gắng tự động cài đặt môi trường phát triển và sản xuất của mình bằng Bash và quên mất mình đã bắt đầu như thế nào và trình tự ra sao. Sau khi cài đặt npm, tôi thấy nvm của chúng tôi chưa được cài đặt.

Tôi vẫn cần cài đặt nvm? Nếu vậy thì lợi ích là gì?


4
nvm cài đặt Node cài đặt npm. Nếu bạn không cần / muốn chuyển đổi giữa các phiên bản Node thì có lẽ bạn không cần nvm.
Felix Kling

Câu trả lời:


96

nvm(Node Version Manager) là một công cụ cho phép bạn tải xuống và cài đặt Node.js. Kiểm tra xem bạn đã cài đặt nó qua chưa nvm --version.

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.26.1/install.sh | bash

npm(Node Package Manager) là một công cụ cho phép bạn cài đặt các gói javascript. Kiểm tra xem bạn đã cài đặt nó qua chưa npm --version.

npmđi kèm với Node.js vì vậy nếu bạn đã cài đặt nút ( node --version) thì rất có thể bạn cũng đã npmcài đặt.

Bạn không cần nvmtrừ khi bạn muốn cài đặt nhiều phiên bản Node.js trên hệ thống của mình hoặc nếu bạn muốn nâng cấp phiên bản hiện tại của mình.


1
Có nghĩa là tôi có thể sử dụng nvm install watchmanthay vì npm install watchmanbởi vì tôi không muốn thay đổi phiên bản NPM
AVI

@JokerFan Điều đó không hoàn toàn đúng. Bạn không thể chạy nvm install watchman. Khi bạn thay đổi phiên bản của mình nodebằng nvmcả phiên bản npmthay đổi.
ThomasReggi

2
Có hợp lý không khi có nhiều phiên bản Node.js trên hệ thống?
Ajay S

2
@AjayS Bạn có thể làm việc trên hai dự án riêng biệt có yêu cầu phiên bản nút rất cụ thể, rất phổ biến đối với các nhà thầu.
Juan Mendes

23

nvm như bạn đã nói là một trình quản lý phiên bản nodejs "đang hoạt động". Bạn có thể có nhiều phiên bản nút trên cùng một máy và chuyển đổi bằng cách thực hiện "phiên bản sử dụng nvm". npm tôn trọng nvm nếu nó có trên máy, có nghĩa là nếu bạn có 0,12.7 hoạt động và thực hiện npm install -g uuid, nó sẽ cài đặt nó trên toàn cầu dưới 0,12.7 nhưng nếu bạn chuyển sang 4.0.0, uuid sẽ không còn nữa có sẵn trên toàn cầu.

Trong mọi trường hợp, bạn không nhất thiết phải cần nvm để cài đặt các gói.


phiên bản nào đi kèm với nvm theo mặc định?
JohnTheBelished vào

@JohnTheBelished: Không có. nvm trỏ đến phiên bản hệ điều hành của bạn theo mặc định.
Felix Kling

1
@FelixKling nói đúng. Bạn có thể làm "nvm ls" để xem các phiên bản được sử dụng bởi nvm và cả "nút -v" để xem nút hiện đang hoạt động.
masimplo
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.