Есть ли какая-нибудь короткая команда для перемещения модуля из devDependencies
в dependencies
в package.json?
Я всегда делаю это:
npm uninstall <module_name> --save-dev
npm install <module_name> --save
Есть ли более короткий подход к этому?
npm
package.json
Эмад Эмами
источник
источник
npm i module-example -D
также будет работать для перехода от prod к dev, а такжеnpm i module-example -P
к переходу от dev к prod-зависимостямyarn remove <module_name>
а затем повторно добавить ее в devDependencies с помощьюyarn add <module_name> --dev
В пряжу:
Переместить модуль из
devDependencies
вdependencies
:Переместить модуль из
dependencies
вdevDependencies
:Как сказано в комментариях, команда фактически удаляет модуль и переустанавливает его на новом месте.
источник
dependencies
вdevDependencies
без удаления и повторного добавления?&&
с&
.Если в вашем проекте еще нет файла блокировки или файла сжатия, вы можете просто переместить соответствующую строку в вашем
package.json
.(Я не рекомендую не использовать lockfiles)
источник
Проблема с использованием команд
npm
илиyarn
заключается в том, что существует вероятность того, что повторно добавленная версия отличается от той, которая используется в настоящее время. Если это то, что вы хотите - и переход, и апгрейд, - тогда продолжайте и используйте принятый ответ.Если нет, просто отредактируйте вручную,
package.json
чтобы переместить линию отdevDependencies
объекта кdependencies
объекту (создавая ее при необходимости). Вы можете пойти и в другом направлении.Файл блокировки не содержит никакой информации о том, являются ли вещи зависимостями prod или dev, поэтому не требует обновления.Вы можете сделатьnpm
/yarn install
впоследствии, чтобы исправить любые флаги в файлах блокировки.источник
dependencies
раздел верхнего уровняpackage-lock.json
, каждая запись потенциально имеетdev
флаг, указывающий, является ли это зависимостью dev или транзитивной зависимостью одного. См. Docs.npmjs.com/files/package-lock.json#dev "Если [dev is] true, то эта зависимость является либо зависимостью разработки ТОЛЬКО от модуля верхнего уровня, либо транзитивной зависимостью одного. Это ложно для зависимостей, которые являются как зависимостью развития верхнего уровня, так и транзитивной зависимостью не-разработки зависимости верхнего уровня ".Проблема использования npm install в том, что вы получаете обновленные версии. Что сработало для меня:
npm install
Это сохранило все версии без изменений.
источник