Есть ли какая-нибудь короткая команда для перемещения модуля из devDependencies
в dependencies
в package.json?
Я всегда делаю это:
npm uninstall <module_name> --save-dev
npm install <module_name> --save
Есть ли более короткий подход к этому?
Есть ли какая-нибудь короткая команда для перемещения модуля из devDependencies
в dependencies
в package.json?
Я всегда делаю это:
npm uninstall <module_name> --save-dev
npm install <module_name> --save
Есть ли более короткий подход к этому?
Ответы:
Да! переместить модуль из devDependencies
в dependencies
:
npm install <module_name> --save-prod
Если вы хотите сделать обратное (т.е. переместить модуль из dependencies
в devDependencies
), просто выполните:
npm install <module_name> --save-dev
или стенография:
npm i <module_name> -D
сокращение от ( devDependencies
до dependencies
):
npm i <module_name> -P
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
:
yarn remove <module_name> --dev && yarn add <module_name>
Переместить модуль из dependencies
в devDependencies
:
yarn remove <module_name> && yarn add <module_name> --dev
Как сказано в комментариях, команда фактически удаляет модуль и переустанавливает его на новом месте.
dependencies
в devDependencies
без удаления и повторного добавления?
&&
с &
.
Проблема с использованием команд 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
Это сохранило все версии без изменений.