После того, как npm init
я смогу добавить зависимости в свой package.json, используя это:
npm install package --save
И скажем, я хочу получить uninstall
пакет, и я делаю это следующим образом:
npm uninstall package
но я хочу, чтобы мой package.json тоже обновлялся соответствующим образом, без необходимости вручную переходить к файлу и удалять эту строку.
В документах npm говорится:
Он является строго аддитивным, поэтому он не удаляет параметры из вашего package.json без действительно веской причины.
Итак, я просто хотел знать, возможно ли это вообще.
Ответы:
Используйте тот же
--save
флаг. Если вы установили зависимость с помощью:вы можете удалить его, обновив package.json, используя:
Флаг 'save' указывает npm обновлять package.json в зависимости от операции, которую вы только что сделали.
источник
--save-dev
вместо--save
.dependencies
разделе файла package.json, тогда как --save-dev сохранит вdevDependencies
разделеnpm i <package_name> -S
для добавления в свойdependencies
список илиnpm i <package_name> -D
для добавления в свойdev-dependencies
. Тот же флаг применяется для удаления сnpm rm <package_name> -S
илиnpm rm <package_name> -D
npm help
Все флаги и их сокращенные эквиваленты. (все, что установлено с помощью -S или --save, и может быть удалено с помощью любого из них, npm не считает их разными. Просто «меньше печатать» для -S)В моем случае --save не очистил запись из package.json, команда, предложенная ionic-check, я думаю, если при удалении произойдет выход с какими-либо ошибками, package.json не будет обновлен, и в этом случае у вас есть только вариант вручную изменить package.json, это утомительно, но я думаю, единственный способ
ОБНОВИТЬ
когда вы удаляете пакет, который зависит от другого активного пакета, то в этом случае удаление может завершиться с ошибками / предупреждениями, безопасный метод заключается в следующем: по графику зависимостей не уверен, доступен ли какой-либо инструмент, удобный инструмент для таких операций, предупреждение сообщения вводят в заблуждение, хотя "вы должны установить зависимости одноранговых узлов ..." не имеет никакого смысла, когда мы удаляем пакет
источник
dependencies
списке, егоuninstall --save
следует удалить, независимо от того, зависит ли от него что-то еще. NPM использует довольно умное выравнивание зависимостей, поэтому, если у вас есть X в вашем списке зависимостей (явно) и вы удалите X --save, он будет удален. Однако помните, что существует несколько списков зависимостей, и--save
это не то же самое--save-dev
, что--save-prod
, или--save-optional
. Также да: если выuninstall
приводите к ошибкам, NPM останавливается на этой ошибке. Он не пытается продолжить, потому что больше не может гарантировать правильность.