Как установить только «devDependencies» с помощью npm

88

Я пытаюсь установить ТОЛЬКО "devDependencies", перечисленные в моем файле package.json. Но ни одна из следующих команд не работает должным образом. Все следующие команды также устанавливают производственные зависимости, которые мне не нужны.

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

Я не могу придумать больше способов сказать npm об установке только devDependencies. :(

Несан Раджендран
источник
на сегодняшний день - npm WARN install Использование этой --devопции устарело. --only=devВместо этого используйте .
Андрей Лещук

Ответы:

136

Проверьте документы NPM для установки :

С --productionфлагом (или когда NODE_ENVпеременная среды установлена ​​на production) npm не будет устанавливать модули, перечисленные в devDependencies.

--only={prod[uction]|dev[elopment]}Аргумент будет вызывать либо только devDependencies или только не-devDependencies быть установлены независимо от NODE_ENV.

Вы пробовали следующее?

npm install --only=dev
Ахмед фараг мостафа
источник
10
Только что я узнал, что моя версия npm была 2.x. Я обновил его до v3.x, выполнив команду, npm install npm -gи опция --only = dev работала как шарм. Спасибо за ответ.
Несан Раджендран
Проблема с версией, упомянутая @NesanJoseph, была проблемой и в моем случае. В старой версии npm npm install --prodиспользовался для установки элементов из dependenciesпапки. Как npm installи npm install --devиспользуется для установки из обоих в dependenciesи devDependenciesпапки!
Shiyaz
У меня та же проблема, о которой упоминает @ricka, с использованием nvm для запуска node v 10.9.0 и npm v 6.4.1 (обе последние версии по состоянию на 10/18), а также с использованием --only = dev все еще устанавливаются зависимости приложений . Обычно флаги установки npm на данном этапе на 100% бесполезны.
Генри
У меня не работает (узел v12.19.0, npm v6.14.8). Возможно, это как-то связано с проблемой, открытой с апреля 2016 года: github.com/npm/npm/issues/12184
Fapaz
23
npm install thePackageName --save-dev

У меня это отлично работает.

Джефф
источник
3
--save-devсохраняет пакет в devDependencies в package.json
Rashomon
1
--save-dev означает, что установленный пакет будет установлен в devDependencies
Даниэль Дубовски,
3
Больше похожеnpm install thePackageName --save-dev
Deke
3
Это установит одно явное имя пакета и сохранит его в зависимостях разработчика. Вопрос в том, как установить только devDependencies из package.json.
Lalnuntluanga Chhakchhuak
1
Не соответствует критериям вопроса. Ваш ответ - установить: 1. единый пакет 2. вопрос спрашивает, как установить то, что уже находится в package.json, но только в списке зависимостей.
Urasquirrel
15
npm i -D

Необязательная короткая версия.

Роджер Мускито
источник
ДА, я сделал, npm install -Dи это сработало. поэтому я был удивлен и погуглил это, после многих ответов я вижу ваш ответ :)
its4zahoor
2

Выполняется npm install, он установит все зависимости в devDependencies `или dependencies .

Для установки и сохранения пакетов в виде зависимостей разработчика в package.json npm install package_name --save-devили передайте опцию-D

Для установки всех пакетов в devDependencies , npm install --only=dev

Для установки и сохранения пакетов как prod или только зависимостей в package.json, npm install package_name --save-prodлибо параметр pass -Pилиnpm install package_name

Для установки всех пакетов в зависимостях или зависимостях Prod установите переменную среды NODE_ENV=productionили передайте ее с помощью команды NODE_ENV=production npm installилиnpm install --only=prod

Вместо того, чтобы использовать installкоманду npm, npm installвы можете просто использовать ilike npm i, за исключением install.

Справка

Пиюш Сонигра
источник