Làm cách nào để cài đặt tất cả các mô-đun nút?

Khi chạy mà không có đối số, npm cài đặt các phụ thuộc tải xuống được xác định trong một gói. json và tạo thư mục node_modules với các mô-đun đã cài đặt

Khi chạy với các đối số, cài đặt npm sẽ tải xuống các mô-đun cụ thể vào thư mục node_modules

Gói. json chỉ ra những mô-đun nào sẽ được cài đặt trong thư mục node_modules. Điều quan trọng là cài đặt npm được chạy ở cùng vị trí với gói. tập tin json

Hãy xem xét một số ví dụ chi tiết hơn

cài đặt npm [không có đối số]

npm install
npm i

Cả hai lệnh này đều làm điều tương tự. Chạy cài đặt npm không có đối số sẽ cài đặt các mô-đun được xác định trong phần phụ thuộc của gói. tập tin json

Điều quan trọng là cài đặt npm được chạy trong cùng thư mục với gói. tập tin json

Các mô-đun đã tải xuống được đặt trong thư mục node_modules ở cùng vị trí với gói. json

cài đặt npm cũng tạo ra khóa gói. tập tin json. Tệp này mô tả cây phụ thuộc chính xác đã được cài đặt. Điều này giúp các lần cài đặt tiếp theo sử dụng cùng một cây dễ dàng hơn [bất kể các bản cập nhật phụ thuộc trung gian]

độ phân giải phụ thuộc npm

Bạn hỏi cây gì đây? . Đôi khi các gói khác nhau yêu cầu các phiên bản khác nhau của cùng một mô-đun

Điều này có thể dẫn đến tình huống mô-đun A yêu cầu v1 của mô-đun C và mô-đun B yêu cầu v2 của mô-đun C. Trong trường hợp này, cả hai phiên bản của cùng một mô-đun C được cài đặt theo cấu trúc dạng cây

Thứ tự mà các phụ thuộc được cài đặt chỉ ra cấu trúc cây này. Ví dụ: v1 của mô-đun C có thể được cài đặt ở cấp cơ sở trong khi v2 được cài đặt dưới dạng phần phụ thuộc lồng nhau của mô-đun B

Các chi tiết đằng sau cách npm giải quyết các phụ thuộc nằm ngoài phạm vi của bài viết này, nhưng khóa gói. json có thể giúp đảm bảo cây chính xác được cài đặt với các lần cài đặt tiếp theo

cài đặt npm [có đối số]

cài đặt npm có thể được chạy với các đối số khác nhau. Dưới đây là một số trong những điều quan trọng hơn cần lưu ý

cài đặt npm [gói được chỉ định]

npm install express

Khi cài đặt npm được chạy với một đối số gói được chỉ định, nó sẽ cài đặt gói trong thư mục node_modules hiện có

Bạn cũng có thể tùy chọn cung cấp một phiên bản cụ thể

npm install express@4.16.4

Khi một phiên bản không được cung cấp, npm sẽ tự động tải xuống phiên bản ổn định mới nhất. Bạn cũng có thể chỉ định một số gói trong cùng một lệnh

npm install express eslint mongo

Điều này sẽ cài đặt express, eslint và mongo trong một lệnh duy nhất

cài đặt npm [thư mục]

npm install myfolder

Khi một đối số thư mục được chỉ định, cài đặt npm sẽ tải xuống mọi thứ từ vị trí đã chỉ định vào thư mục node_modules ban đầu ở thư mục gốc của dự án

Điều này giả sử một thư mục con myfolder tồn tại ở cùng vị trí với gói. json. Ngoài ra, myfolder có gói riêng. json

cài đặt npm SẼ KHÔNG tạo thư mục node_modules mới bên trong thư mục con. Thay vào đó, các phần phụ thuộc được đưa vào thư mục node_modules của thư mục gốc

cài đặt npm [từ git]

cài đặt npm [có tùy chọn]

Ngoài các đối số, cài đặt npm có thể được chạy với các tùy chọn khác nhau. Dưới đây là một số trong những điều quan trọng hơn cần lưu ý

cài đặt npm [với --global]

npm install -g
npm install --global

Khi chạy với --global hoặc -g, cài đặt npm sẽ cài đặt gói trên toàn cầu. Điều này có nghĩa là gói được cài đặt ở hai nơi. Đầu tiên là tại thư mục gốc nơi gói. json được xác định. Thứ hai là thư mục node_modules toàn cầu trên hệ thống người dùng

Theo nguyên tắc chung, bạn muốn cài đặt các gói trên toàn cầu khi chúng sẽ được sử dụng lại trong các dự án hoặc khi chúng cung cấp các lệnh thực thi từ CLI

cài đặt npm [với --save]

npm install express --save

Khi chạy với --save, cài đặt npm sẽ sửa đổi gói. json để bao gồm gói được chỉ định dưới dạng phụ thuộc. Trong trường hợp này, gói cấp tốc sẽ được thêm vào dưới dạng phụ thuộc vào gói. json

Tùy chọn --save rất quan trọng bất cứ khi nào bạn muốn các bản cài đặt trong tương lai bao gồm gói đã chỉ định

cài đặt npm [với --save-dev]

Cờ --save-dev chỉ định rằng gói sẽ được thêm vào phần phụ thuộc dev của gói. json chứ không phải phần phụ thuộc



phụ thuộc npm so với devDependencies

Vậy sự khác biệt là gì? . Điều này cho phép loại trừ các gói bạn chỉ cần để phát triển

Ví dụ: linters phổ biến để thực thi mã sạch nhưng không cần thiết trong sản xuất. Bạn sẽ bao gồm gói linter dưới dạng devDependency để bạn có thể chạy cục bộ đối với mã của mình mà không cần đưa gói đó vào bản dựng sản xuất

cài đặt npm [với --production]

npm install -p
npm install --production

Cờ --production chỉ định loại trừ devDependencies khỏi cài đặt. Điều này có nghĩa là bất kỳ phần phụ thuộc nào được liệt kê trong phần devDependencies của gói. json sẽ không được cài đặt khi có cờ này

Suy nghĩ của bạn?

Chia sẻ những suy nghĩ của bạn

0

MakeMeCTO. 23 Tháng Năm, 2022

đọc tuyệt vời. một số điều khác cần lưu ý

Thứ tự ưu tiên

Việc cài đặt các phụ thuộc được xác định trong gói. json được ưu tiên dựa trên sự hiện diện của các tệp sau [theo thứ tự này]

  1. npm-shrinkwrap. json
  2. khóa gói. json
  3. sợi. Khóa

Hãy nhớ rằng gói. json một mình có thể xác định phạm vi phụ thuộc chấp nhận được. Trong khi khóa gói. json ghi lại các phiên bản chính xác của tất cả các phụ thuộc trong cây, npm-shrinkwrap. json của bạn BẮT BUỘC việc sử dụng chính xác các phụ thuộc này

Định nghĩa về một "gói" trong npm

  • Bất kỳ thư mục nào chứa gói. tệp json được coi là một gói
  • Bất kỳ tệp tarbell đã nén nào chứa thư mục có gói. json
  • Các gói hiện có được xuất bản lên sổ đăng ký npm
  • Thẻ của các gói hiện có
  • GIT URL từ xa phân giải thành các thư mục với gói. json trong đó

cờ sản xuất

Chỉ định --production sẽ không cài đặt devDependencies

phụ thuộc ngang hàng

Tính năng phụ thuộc ngang hàng đảm bảo phiên bản phụ thuộc tương thích giống nhau được sử dụng

Nếu gói A phụ thuộc vào gói B và gói B có sự phụ thuộc ngang hàng vào gói C thì gói A tốt hơn nên thêm C làm phụ thuộc

học kỳ

Hiểu semvar là điều quan trọng để hiểu cài đặt npm nói chung. ]

0

kỹ sư. Ngày 3 tháng 3 năm 2021

npm install hoạt động bằng cách cài đặt tất cả các phần phụ thuộc mà bạn đã khai báo trong gói của mình. tệp json .

Mỗi phần phụ thuộc có gói riêng. json có danh sách phụ thuộc riêng. npm install sẽ cài đặt TẤT CẢ các phụ thuộc lồng nhau một cách hiệu quả [hoặc bằng phẳng] nhất có thể. Nếu các phần phụ thuộc khác nhau có các phần phụ thuộc phụ được chia sẻ phổ biến, thì có thể chia sẻ một phiên bản duy nhất. Tuy nhiên, nếu hai mô-đun dựa trên các phiên bản khác nhau của cùng một phụ thuộc, thì cả hai phiên bản sẽ được cài đặt ở các cấp độ khác nhau của "hệ thống phân cấp" cây. Điều này cho phép chia sẻ các deps có thể tái sử dụng và giữ các phiên bản cụ thể dưới dạng "dùng một lần" cần chúng.

0

MakeMeCTO. 2 Tháng Ba, 2021

đọc tuyệt vời. tò mò làm thế nào điều này so sánh với các công cụ xây dựng khác như gradle và maven [java]

0

SherryAtkins. 20 Tháng Năm, 2022

________số 8_______

điều này sẽ cài đặt tất cả các phụ thuộc của NodeJ vào hệ điều hành đích. Nó sẽ lấy từ sổ đăng ký npm Công cộng trừ khi một sổ đăng ký thay thế được chỉ định

0

SwiftOverJava. 20 Tháng Năm, 2022

Điều quan trọng cần lưu ý là cài đặt npm sẽ không cài đặt mọi thứ bên trong thư mục node_modules mỗi lần. Về cơ bản, nó chỉ cài đặt khi không tìm thấy trong cây phụ thuộc

0

theRealJS. 2 Tháng Ba, 2021

đây là một mánh gian lận tuyệt vời. tài liệu chính thức rõ ràng là tuyệt vời vì chúng bao gồm mọi thứ bạn cần. nhưng điều này chỉ cho bạn biết những gì bạn cần biết về cài đặt npm để bạn có thể xây dựng thứ gì đó mà bạn quan tâm.

0

TheRecursionChuyến tham quan. 2 Tháng Ba, 2021

Mặc dù npm là một công cụ xây dựng tuyệt vời, nhưng đã có một số vấn đề với công cụ này từ góc độ lỗ hổng bảo mật. Nó cũng lộn xộn khi bạn có các phần phụ thuộc lồng nhau vì các bản dựng có thể khác nhau từ máy cục bộ này sang máy cục bộ tiếp theo.

Rõ ràng npm là rất lớn và sẽ tiếp tục là một trong những trình quản lý gói được sử dụng nhiều nhất với NodeJ và hệ sinh thái NodeJ.

0

Ariel Robaldo. Ngày 4 tháng 7 năm 2022

Bài báo tuyệt vời

Dễ đọc và đi thẳng vào vấn đề. Tiết kiệm thời gian

Thanks

0

Tom Edmonds. 23 Tháng Năm, 2022

tuyệt vời đọc rất hữu ích. trung thực toàn diện hơn các tài liệu thực tế. ]

0

NHÂN VIÊN AMZ. 23 Tháng Năm, 2022

tôi vẫn không nhận được sự phụ thuộc ngang hàng

0

MakeMeCTO. 2 Tháng Ba, 2021

sợi có tốt hơn không? . Có sự khác biệt đáng kể hay đây chỉ là những sợi tóc bị chẻ ngọn?

Làm cách nào để cài đặt nhiều mô-đun nút?

Lệnh cài đặt npm được sử dụng để cài đặt các gói npm vào thư mục node_modules/ . Bạn cũng có thể cài đặt phiên bản cụ thể của từng gói bằng cách thêm từ khóa @version sau tên gói. npm sẽ cài đặt các phiên bản chính xác mà bạn đã xác định trong ví dụ trên.

Làm cách nào để cài đặt tất cả các mô-đun nút từ gói json?

Trong WebStorm, các gói có thể được cài đặt trong trình chỉnh sửa, từ một gói. json, trong Terminal Alt+F12 tích hợp sẵn hoặc trên Node. trang js. .
cài đặt npm
cài đặt sợi
cài đặt pnpm

Làm cách nào để cài đặt các mô-đun nút?

Để cài đặt gói, npm sử dụng thuật toán sau. .
tải cây node_modules hiện có từ đĩa
nhân bản cây
lấy gói. json và các loại siêu dữ liệu và thêm nó vào bản sao
đi bộ bản sao và thêm bất kỳ phụ thuộc bị thiếu nào
phụ thuộc sẽ được thêm càng gần đầu càng tốt

Làm cách nào để cài đặt tất cả các phụ thuộc npm cùng một lúc?

Lệnh ' npm install' sẽ tự động thêm tất cả các phần phụ thuộc và phần phụ thuộc dev trong quá trình cài đặt . Nếu bạn cần thêm các phụ thuộc dev cụ thể vào dự án của mình, bạn có thể sử dụng lệnh này- 'npm install --save-dev'. Điều này sẽ thêm thư viện npm mong muốn của bạn vào gói. tập tin json.

Chủ Đề