Cách chỉ cài đặt “devDependencies” bằng npm


88

Tôi đang cố gắng CHỈ cài đặt "devDependencies" được liệt kê trong tệp package.json của tôi. Nhưng không có lệnh nào sau đây hoạt động như tôi mong đợi. Tất cả các lệnh sau đều cài đặt các phụ thuộc sản xuất mà tôi không muốn.

npm install --dev
npm install --only=dev
npm install --only-dev

Tôi không thể nghĩ ra bất kỳ cách nào khác để yêu cầu npm cài đặt devDependencies một mình. :(


như hôm nay - npm cài đặt CẢNH BÁO Việc sử dụng --devtùy chọn không được dùng nữa. Sử dụng --only=devthay thế.
Andriy Leshchuk

Câu trả lời:


137

Kiểm tra tài liệu NPM để cài đặt :

Với --productioncờ (hoặc khi NODE_ENVbiến môi trường được đặt thành sản xuất), npm sẽ không cài đặt các mô-đun được liệt kê trong devDependencies.

Đối --only={prod[uction]|dev[elopment]}số sẽ khiến chỉ dành cho devDependencies hoặc chỉ những non-devDependencies được cài đặt bất kể NODE_ENV.

Bạn đã thử cách sau chưa?

npm install --only=dev

10
Vừa rồi tôi phát hiện ra rằng phiên bản npm của tôi là 2.x. Tôi đã nâng cấp nó lên v3.x bằng cách chạy lệnh npm install npm -gvà tùy chọn --only = dev hoạt động như một sự quyến rũ. Cảm ơn vì sự trả lời.
Nesan Rajendran

Vấn đề phiên bản được đề cập bởi @NesanJoseph cũng là vấn đề trong trường hợp của tôi. Trong phiên bản cũ hơn của npm, npm install --prodđược sử dụng để cài đặt các mục từ dependenciesthư mục. Cả hai npm installnpm install --devsử dụng để cài đặt từ cả các dependenciesdevDependenciesthư mục!
Shiyaz

Tôi đang gặp vấn đề tương tự mà @ricka đề cập bằng cách sử dụng nvm để chạy node v 10.9.0 và npm v 6.4.1 (cả hai phiên bản mới nhất kể từ ngày 18/10) và cũng đang sử dụng --only = dev vẫn đang cài đặt các phụ thuộc ứng dụng . Về cơ bản, cờ cài đặt npm là 100% vô dụng tại thời điểm này.
Henry

Không hoạt động đối với tôi (nút v12.19.0, npm v6.14.8). Có lẽ nó liên quan đến vấn đề này mở từ tháng 4 năm 2016: github.com/npm/npm/issues/12184
Fapaz

23
npm install thePackageName --save-dev

Cái này làm việc tốt cho tôi.


3
--save-devtiết kiệm các gói đến devDependencies trong package.json
Rashomon

1
--save-dev có nghĩa là để lá cờ mà các gói cài đặt sẽ được cài đặt theo devDependencies
Daniel Dubovski

3
npm install thePackageName --save-dev
Thích

3
Điều này sẽ cài đặt một tên rõ ràng của gói duy nhất và lưu nó vào phần phụ thuộc của nhà phát triển. Câu hỏi là về cách cài đặt chỉ devDependencies từ package.json.
Lalnuntluanga Chhakchhuak

1
Không đáp ứng các tiêu chí cho câu hỏi. Câu trả lời của bạn là cài đặt: 1. một gói duy nhất 2. câu hỏi hỏi làm thế nào để cài đặt những thứ đã có trong package.json nhưng chỉ trong danh sách phụ thuộc.
Urasquirrel

15
npm i -D

Một phiên bản ngắn tùy chọn.


CÓ, tôi đã làm npm install -Dvà nó hoạt động. vì vậy tôi đã rất ngạc nhiên và googled này, sau nhiều câu trả lời tôi thấy câu trả lời của bạn :)
its4zahoor

2

Đang chạy npm install, Nó sẽ cài đặt tất cả các phụ thuộc theo devDependencies `hoặc các phụ thuộc .

Để cài đặt và lưu các gói dưới dạng phụ thuộc nhà phát triển trong package.json npm install package_name --save-devhoặc tùy chọn vượt qua-D

Để cài đặt tất cả các gói trong devDependencies , npm install --only=dev

Để cài đặt và lưu các gói dưới dạng sản phẩm hoặc chỉ phụ thuộc trong package.json, npm install package_name --save-prodhoặc tùy chọn vượt qua -Phoặcnpm install package_name

Để cài đặt tất cả các gói trong phần phụ thuộc hoặc phụ thuộc Sản phẩm , hãy đặt biến Môi trường NODE_ENV=productionhoặc chuyển nó bằng lệnh NODE_ENV=production npm installhoặcnpm install --only=prod

Thay vì sử dụng installtrong lệnh npm như npm installbạn có thể sử dụng ilike npm i, short of install.

Tài liệu tham khảo

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.