2012-08-07 15 views

Trả lời

6

Thông thường phụ thuộc trong một dự án nút được cài đặt thông qua package.json: https://docs.npmjs.com/files/package.json

Bạn cài đặt mỗi phụ thuộc với npm install --save my-dependency và nó sẽ được thêm vào tập tin package.json. Vì vậy, người tiếp theo trong dự án có thể cài đặt tất cả các phụ thuộc với lệnh npm install trên cùng một thư mục của package.json.

Nhưng trong trường hợp của tôi, tôi muốn cài đặt các yêu cầu toàn cầu về npm thông qua tệp văn bản (tương tự như pip install -r requirements.txt).

Bạn có thể làm điều đó với:

cat requirements.txt | xargs npm install -g

9

Bạn có thể muốn xem xét các tài liệu cho npm shrinkwrap. Nó tạo ra một npm-shrinkwrap.json, sẽ được ưu tiên hơn bất kỳ package.json khi cài đặt.

Về cơ bản, tương đương là:

npm shrinkwrap 
npm install 

Edit:

Kể từ v5.0.0, NPM nay luôn tạo ra một package-lock.json, với định dạng giống như npm-shrinkwrap.json. Đã có những thay đổi khác kể từ đó, ít nhất là trong v5.6.0 mới nhất. Xem số package-lock docs.

+2

Cũng lưu ý rằng npm có một tính năng mà pip không - thêm vào danh sách dep khi chúng được cài đặt. Sử dụng 'npm install --save aPackage' (hoặc' npm install --save-dev aDevPackage'). – Pat

1

Để cài đặt gói NPM trên toàn cầu từ một tập tin văn bản (ví dụ npm-requirements.txt) với một định dạng tương tự như một tập tin yêu cầu pip:

sed 's/#.*//' npm-requirements.txt | xargs npm install -g 

này cho phép nhận xét trong tệp yêu cầu, giống như pip. (source)

Một lệnh tương tự như pip freeze > requirements.txt là:

ls "$(npm root -g)" > npm-requirements.txt 

Tuy nhiên, đây là hoàn hảo bởi vì nó không lưu các số phiên bản của gói NPM.