gói npm toàn cầu hoặc cục bộ

Khi nào một gói được cài đặt tốt nhất trên toàn cầu? Tại sao?

Sự khác biệt chính giữa gói cục bộ và gói toàn cầu là:

  • gói địa phươngđược cài đặt trong thư mục nơi bạn chạynpm install <package-name>, và chúng được đưa vàonode_modulesthư mục dưới thư mục này
  • gói toàn cầutất cả đều được đặt ở một nơi duy nhất trong hệ thống của bạn (chính xác nơi phụ thuộc vào thiết lập của bạn), bất kể bạn chạy ở đâunpm install -g <package-name>

Trong mã của bạn, cả hai đều được yêu cầu theo cùng một cách:

require('package-name')

vậy khi nào bạn nên cài đặt theo cách này hay cách khác?

Nói chung,tất cả các gói phải được cài đặt cục bộ.

Điều này đảm bảo rằng bạn có thể có hàng tá ứng dụng trong máy tính của mình, tất cả đều chạy một phiên bản khác nhau của mỗi gói nếu cần.

Cập nhật gói toàn cầu sẽ làm cho tất cả các dự án của bạn sử dụng bản phát hành mới và như bạn có thể tưởng tượng điều này có thể gây ra cơn ác mộng về mặt bảo trì, vì một số gói có thể phá vỡ khả năng tương thích với các phụ thuộc khác, v.v.

Tất cả các dự án đều có phiên bản gói cục bộ của riêng chúng, ngay cả khi điều này có vẻ như lãng phí tài nguyên, thì điều đó là rất nhỏ so với những hậu quả tiêu cực có thể xảy ra.

Một góinên được cài đặt trên toàn cầukhi nó cung cấp một lệnh thực thi mà bạn chạy từ shell (CLI) và nó được sử dụng lại trên các dự án.

Bạn cũng có thể cài đặt các lệnh thực thi cục bộ và chạy chúng bằng cách sử dụngnpx, nhưng một số gói chỉ được cài đặt tốt hơn trên toàn cầu.

Các ví dụ tuyệt vời về các gói toàn cầu phổ biến mà bạn có thể biết là

  • npm
  • create-react-app
  • vue-cli
  • grunt-cli
  • mocha
  • react-native-cli
  • gatsby-cli
  • forever
  • nodemon

Bạn có thể đã cài đặt một số gói trên toàn cầu trên hệ thống của mình. Bạn có thể nhìn thấy chúng bằng cách chạy

npm list -g --depth 0

trên dòng lệnh của bạn.

Tải xuống miễn phí của tôiSổ tay Node.js


Các hướng dẫn nút khác: