Я вижу инструкции по установке пакета с
npm install <package_name>
или
npm install <package_name> --save
или
npm install <package_name> --save-dev
В чем разница между этими вариантами?
npm
npm-install
Обромиос
источник
источник
npm install принимает 3 эксклюзивных необязательных флага, которые сохраняют или обновляют версию пакета в вашем основном package.json:
-S, --save
: Пакет появится в ваших зависимостях.-D, --save-dev
: Пакет появится в вашем devDependencies.-O, --save-optional
: Пакет появится в ваших optionalDependencies.При использовании любого из вышеперечисленных параметров для сохранения зависимостей в package.json есть дополнительный необязательный флаг:
-E, --save-exact
: Сохраненные зависимости будут настроены с точной версией, а не с использованием оператора npm диапазона semver по умолчанию. Кроме того, если у вас есть npm-shrinkwrap.json, он также будет обновлен.<scope>
не является обязательным. Пакет будет загружен из реестра, связанного с указанной областью. Если реестр не связан с данной областью, предполагается реестр по умолчанию. См. Npm-scope.Примечание: если вы не включите символ @ в имя своей области, npm вместо этого интерпретирует это как репозиторий GitHub, см. Ниже. Имена областей действия также должны сопровождаться косой чертой.
Примеры:
Примечание. Если
<name>
в текущем рабочем каталоге есть файл или папка с именем , он попытается установить их, и будет пытаться получить пакет по имени только в том случае, если он недействителен.(из официальных документов) https://docs.npmjs.com/cli/install
источник
--save
опция по-прежнему работает, она больше не требуется - теперь пакеты по умолчанию сохраняются в зависимостях . Теперь логика обратная - если вы не хотите сохранять свой пакет, вам нужно указать--no-save
Не
--save
флаг больше не служит цели.Ранее, как отмечалось в других ответах,
--save
флаг обновлял зависимости вpackage.json
файле проекта , ноnpm install
теперь по умолчанию включает эту функцию.На этом этапе, если вы хотите предотвратить
npm install
сохранение зависимостей, вы должны использовать--no-save
флаг.Спасибо Coruscate5 за упоминание этого в своем комментарии .
Дополнительная информация в документации по npm-install :
источник