Что означает -save-dev в npm install grunt --save-dev
Я только начал использовать Grunt.js. Его довольно сложно настроить, и я собираюсь создать файл package.json
.
Следуя этому учебнику, он говорит, что есть 3 способа создания файла package.json
.
Во-первых, нужно сделать npm install grunt --save-dev
Но что означает --save-dev
? Я пробовал смотреть, но это заканчивается напрасно.
Ответы
Ответ 1
--save-dev: пакет появится в ваших devDependencies.
Согласно npm установите документы.
Если кто-то планирует загрузить и использовать ваш модуль в своей программе, то он, вероятно, не хочет или не нуждается в загрузке и создании используемой вами среды внешнего тестирования или документации.
Другими словами, когда вы запускаете npm install
, ваш проект devDependencies будет установлен, но devDependencies для любых пакетов, от которых зависит ваше приложение, не будет установлен; кроме того, другие приложения, имеющие ваше приложение в качестве зависимости, не должны устанавливать ваши devDependencies. Такие модули нужны только при разработке приложения (например, grunt, mocha и т.д.).
В соответствии с package.json документами
Изменение: Попытаться визуализировать, что делает npm install
:
- yourproject
- зависимость установлена
- зависимость установлена
- зависимость установлена
-
devDependency НЕ установлен
-
devDependency НЕ установлен
- DevDependency установлен
- зависимость установлена
-
devDependency НЕ установлен
Ответ 2
Существуют (по крайней мере) два типа зависимостей пакетов, которые вы можете указать в файлах package.json:
-
Те пакеты, которые необходимы для использования вашего модуля, перечислены в разделе "Свойства зависимостей". Используя npm, вы можете добавить эти зависимости в файл package.json следующим образом:
npm install --save packageName
-
Те пакеты, которые необходимы для разработки вашего модуля, перечислены в разделе "devDependencies". Эти пакеты не нужны другим, чтобы использовать модуль, но если они хотят помочь в разработке модуля, эти пакеты понадобятся. Используя npm, вы можете добавить эти devDependencies в ваш файл package.json следующим образом:
npm install --save-dev packageName
Ответ 3
Чтобы добавить ответ Андреаса, вы можете установить только зависимости, используя:
npm install --production
Ответ 4
Документацию из npm для npm install <package-name> --save
и npm install <package-name> --save-dev
можно найти здесь:
https://docs.npmjs.com/getting-started/using-a-package.json#the-save-and-save-dev-install-flags
Файл package.json
объявляет метаданные о модуле, который вы разрабатываете. Обе вышеупомянутые команды изменяют этот package.json
файл. --save
объявит установленный пакет (в данном случае grunt
) как зависимость для вашего модуля; --save-dev
объявит его как зависимость для разработки вашего модуля.
Спросите себя: будет ли установлен установленный пакет для использования моего модуля или он будет нужен только для его разработки?
Ответ 5
Когда вы используете параметр "--save", ваша зависимость войдет внутрь # 1 в package.json. Когда вы используете параметр "--save-dev", ваша зависимость войдет внутрь # 2 в package.json.
1) "зависимости": эти пакеты необходимы вашему приложению в процессе производства.
2) "devDependencies": эти пакеты необходимы только для разработки и тестирования
Ответ 6
Для меня первый ответ кажется немного запутанным, поэтому, чтобы сделать его кратким и понятным:
npm install <package_name>
по умолчанию сохраняет все указанные пакеты в зависимости. Кроме того, вы можете контролировать, где и как они сохраняются с помощью некоторых дополнительных флагов:
npm install <package_name> --no-save
Предотвращает сохранение в зависимости.
npm install <package_name> ---save-dev
обновляет devDependencies
в вашем пакете. Они используются только для локального тестирования и разработки.
Вы можете прочитать больше на в dcu