Что значит save dev

Что значит -сохранить-Дев имею в виду npm установить хмыкнул-сохранить-Дев

Я только что начал использовать Grunt.js . Это довольно трудно настроить, и я нахожусь в точке создания файла package.json .

Следуя этому учебнику, он говорит, что есть 3 способа создать файл package.json .

Первое-это сделать npm install grunt —save-dev

Но что значит —save-dev ? Я пытался искать, но все было напрасно.

6 ответов

У меня возникли некоторые проблемы с установкой Jasminejs . Я буду очень признателен за помощь, пожалуйста. Спасибо! Сначала я запускаю это : npm установить karma-cli -g Я не получаю никаких ошибок с этой командой. После выполнения этой команды : npm установить jasmine-ядро-сохранить-Дев Я получаю.

Я пытаюсь установить materialize-css с npm : npm установить оправдались-css-сохранить-Дев Но я получаю следующую ошибку: 2887 узел ошибки v4.2.4 2888 ошибка npm v2.14.12 2889 код ошибки EPEERINVALID 2890 ошибка peerinvalid пакет [email protected] не удовлетворяет требованиям своих братьев и сестер.

—save-dev: Пакет появится в вашем devDependencies.

Если кто-то планирует загрузить и использовать ваш модуль в своей программе, то он, вероятно, не хочет или не нуждается в загрузке и создании внешней среды тестирования или документации, которую вы используете.

Другими словами, при запуске npm install будет установлен devDependencies вашего проекта , но devDependencies для любых пакетов, от которых зависит ваше приложение, не будет установлен; кроме того, другие приложения, имеющие ваше приложение в качестве зависимости, не должны устанавливать ваш devDependencies. Такие модули должны быть необходимы только при разработке приложения (например, grunt, mocha и т. Д.).

Изменить: Попытка визуализировать, что делает npm install :

  • ваш проект
    • зависимость установлена
      • зависимость установлена
        • зависимость установлена
        • devDependency NOT установлено
      • devDependency NOT установлено
    • devDependency установлено
      • зависимость установлена
      • devDependency NOT установлено

Существует (по крайней мере) два типа зависимостей пакетов, которые вы можете указать в своих файлах package.json:

Те пакеты, которые необходимы для использования вашего модуля, перечислены в свойстве «dependencies». Используя npm, вы можете добавить эти зависимости в свой файл package.json следующим образом:

Пакеты, необходимые для разработки модуля, перечислены в свойстве «devDependencies». Эти пакеты не нужны другим для использования модуля, но если они хотят помочь в разработке модуля, эти пакеты будут необходимы. Используя npm, вы можете добавить эти devDependencies в свой файл package.json следующим образом:

Чтобы добавить к ответу Андреаса, вы можете установить только зависимости с помощью:

Документацию от npm для npm install

—save и npm install

—save-dev можно найти здесь:

Файл package.json объявляет метаданные о разрабатываемом модуле. Обе вышеупомянутые команды изменяют этот файл package.json . —save объявит установленный пакет (в данном случае grunt ) как зависимость для вашего модуля; —save-dev объявит его как зависимость для разработки вашего модуля.

Спросите себя: будет ли установленный пакет необходим для использования моего модуля или он потребуется только для его разработки?

Я пытаюсь использовать node впервые в проекте VS в windows году. Я установил node.js, ниже приведена информация: node -v v8.9.3 npm -v 5.5.1 Завершенная настройка в проекте с использованием npm init, которая, казалось, работала нормально. npm установить лайт-сервер-сохранить-Дев произведено.

Я попытался запустить следующую установку npm, но она ничего не исправляет. npm установить jquery — сохранить npm установить @types/jquery-сохранить-Дев Я добавил scripts: [../node_modules/jquery/dist/jquery.min.js], в файле .angular-cli.json. app.component.ts import < Component >from.

Когда вы используете параметр «—save», ваша зависимость войдет в #1 ниже в package.json. Когда вы используете параметр «—save-dev», ваша зависимость войдет в #2 ниже в package.json.

#1. «dependencies»: эти пакеты требуются вашему приложению в процессе производства.

#2. «devDependencies»: эти пакеты необходимы только для разработки и тестирования

Для меня первый ответ кажется немного запутанным, поэтому, чтобы сделать его коротким и чистым:

по умолчанию сохраняет все указанные пакеты в зависимости . Кроме того, вы можете управлять тем, где и как они сохраняются, с помощью некоторых дополнительных флагов:

—no-save Предотвращает сохранение в зависимости.

—save-dev обновляет devDependencies в вашем пакете. Они используются только для локального тестирования и разработки.

Вы можете прочитать больше по адресу в dcu

Похожие вопросы:

Я пытался установить Grunt. Когда я запускаю grunt я получаю следующий список сообщений и предупреждений: Local Npm module grunt-contrib-copy not found. Is it installed? Local Npm module.

Я видел это здесь npm install grunt-bower-task —save-dev Что делает —save-dev? Разве это то же самое, что обходиться без него?

Как только я попытаюсь добавить plugins: [ ‘karma-jasmine’, ‘karma-mocha-reporter’ ], к моему karma.config.js Я получаю эту ошибку: C:\git\angularjs\.bin>karma start karma.config.js 11 11 2015.

У меня возникли некоторые проблемы с установкой Jasminejs . Я буду очень признателен за помощь, пожалуйста. Спасибо! Сначала я запускаю это : npm установить karma-cli -g Я не получаю никаких ошибок.

Я пытаюсь установить materialize-css с npm : npm установить оправдались-css-сохранить-Дев Но я получаю следующую ошибку: 2887 узел ошибки v4.2.4 2888 ошибка npm v2.14.12 2889 код ошибки EPEERINVALID.

Я пытаюсь использовать node впервые в проекте VS в windows году. Я установил node.js, ниже приведена информация: node -v v8.9.3 npm -v 5.5.1 Завершенная настройка в проекте с использованием npm.

Я попытался запустить следующую установку npm, но она ничего не исправляет. npm установить jquery — сохранить npm установить @types/jquery-сохранить-Дев Я добавил scripts.

Я пытаюсь создать приложение Vue с WebStorm в Mac. Когда я запускаю npm run dev , получаю эту ошибку: npm ERR! отсутствует сценарий: Дев Это мой package.json: version: 0.1.0, private: true, scripts.

Какие учебники использовать-режим экономии, а некоторые использовать-сохранить-Дев режиме. Оба они используют Babel, говоря, что он используется для преобразования React в обычный Javascript.

когда я пытаюсь установить зависимости с помощью ‘npm install react react-dom prop-types —save-dev’ в react (в webstorm), он показывает ошибку ‘npm ERR! код ENOSELF’. раньше он работал правильно.

Источник

В чем разница между —save и -save-dev?

В чем разница между:

ОТВЕТЫ

Ответ 1

  • —save-dev используется для сохранения пакета в целях разработки. Пример: модульные тесты, минимизация.
  • —save используется для сохранения пакет, необходимый для запуска приложения.

Ответ 2

Разница между —save и —save-dev может быть не сразу заметна, если вы попробовали их обоих в своих собственных проектах. Вот несколько примеров.

Допустим, вы создавали приложение, которое использовало пакет moment для анализа и отображения дат. Ваше приложение является планировщиком, поэтому ему действительно нужен этот пакет, как в: не может работать без него. В этом случае вы бы использовали

Это создаст новое значение в вашем package.json

Когда вы разрабатываете, это действительно помогает использовать такие инструменты, как тестовые наборы, и может потребоваться jasmine-core и карма. В этом случае вы бы использовали

Это также создаст новое значение в вашем package.json

Вам не нужен набор тестов для запуска приложения в его нормальном состоянии, так что это зависимость типа —save-dev , не более того. Вы можете видеть, как, если вы не понимаете, что на самом деле происходит, это немного сложно представить.

Взяты непосредственно из документов NPM Документация # зависимости

Зависимости указываются в простом объекте, который отображает имя пакета к диапазону версий. Диапазон версий — это строка, которая имеет один или больше разделенных пробелами дескрипторов. Зависимости также могут быть определены с тарболлом или git URL.

Пожалуйста, не помещайте тестовые жгуты или транспортеры в ваши зависимости объект. См. раздел devDependencies ниже.

Даже в документах вам предлагается использовать —save-dev для таких модулей, как тестовые наборы.

Я надеюсь, что это помогает и понятно.

Ответ 3

По умолчанию NPM просто устанавливает пакет под node_modules. Когда вы пытаетесь установить зависимости для своего приложения/модуля, вам нужно будет сначала установить их, а затем добавить их в раздел dependencies вашего package.json .

—save-dev добавляет сторонний пакет к зависимостям разработки пакетов. Он не будет установлен, если кто-то установит ваш пакет. Он обычно устанавливается только в том случае, если кто-то клонирует ваш исходный репозиторий и запускает в нем npm install .

—save добавляет сторонний пакет к зависимостям пакета. Он будет установлен вместе с пакетом, когда кто-то запускает npm install package .

зависимостями Dev являются те зависимости, которые необходимы только для разработки пакета. Это может включать в себя тестовые ролики, компиляторы, упаковщики и т.д. Оба типа зависимостей хранятся в пакете package.json . —save добавляет к dependencies , —save-dev добавляет к devDependencies

npm install документация может быть передана здесь.

Ответ 4

Прекрасным примером этого является:

В этом случае вы хотите иметь Typescript (язык кодирования javascript-синтаксического анализа), доступный для разработки, но после развертывания приложения его больше не нужно, так как весь код был переписан JavaScript. Таким образом, нет смысла включать его в опубликованное приложение. В самом деле, это заняло бы только пространство и увеличивало время загрузки.

Ответ 5

Как было предложено @andreas-hultgren в этом ответе и в соответствии с npm docs:

Если кто-то планирует загрузить и использовать ваш модуль в своей программе, то они, вероятно, не хотят или не нуждаются в загрузке и создании внешней среды тестирования или документации, которые вы используете.

Однако для разработки webapp Yeoman (инструмент для лесов, который устанавливает рецензируемый предварительно подготовленный файл package.json среди прочего) размещает все пакеты в devDependencies и ничего в зависимостях, поэтому кажется, что использование —save-dev — это безопасная ставка в развитии webapp, по крайней мере.

Ответ 6

—save-dev сохраняет semver spec в массив «devDependencies» в вашем дескрипторе пакета, —save вместо этого сохраняет его в «зависимостях».

Ответ 7

Четкие ответы уже предоставлены. Но стоит упомянуть, как devDependencies влияет на установку пакетов:

По умолчанию, npm install установит все модули, перечисленные как зависимости в package.json. С флагом —production (или когда для переменной среды NODE_ENV задано значение production), npm не будет устанавливать модули, перечисленные в devDependencies.

Ответ 8

Позвольте привести пример,

  • Вы разработчик очень СЕРЬЕЗНОЙnpmбиблиотеки. Который использует различные библиотеки тестирования для тестирования пакета.
  • Пользователь скачал вашу библиотеку и хочет использовать ее в своем коде. Нужно ли им загружать ваши тестовые библиотеки? Возможно, вы используете jest для тестирования, а они используют mocha . Вы хотите, чтобы они также установили jest ? Просто чтобы запустить свою библиотеку?

Без прав? Вот почему они в devDependencies .

Когда кто-то это делает, npm i yourPackage будут установлены только библиотеки, необходимые для запуска вашей библиотеки. Другие библиотеки, которые вы использовали для связывания вашего кода или тестирования и макетов, не будут установлены, потому что вы поместили их в devDependencies . Довольно аккуратно, верно?

Итак, зачем разработчикам нужно показывать devDependancies?

Допустим, ваш пакет является пакетом с открытым исходным кодом, и сотни людей отправляют запросы на получение пакетов в ваш пакет. Тогда как они будут тестировать пакет? Они будут git clone вашего репо, и когда они будут выполнять npm i зависимости, а также devDependencies.
Потому что они не используют ваш пакет. Они продолжают разработку пакета, поэтому, чтобы протестировать ваш пакет, им нужно пройти существующие тестовые случаи, а также написать новый. Поэтому им нужно использовать ваш devDependencies , который содержит все библиотеки тестирования/сборки/проверки, которые вы использовали.

Ответ 9

Как правило, вы не хотите наполнять производственный пакет вещами, которые вы намерены использовать только в целях разработки.

Используйте —save-Dev (или -D ) для разделения пакетов, таких как рамки -D тестирования (шут, жасмин, мокко, чай и т.д.)

Любые другие пакеты, которые нужны вашему приложению для производства, должны быть установлены с использованием —save (или -S ).

Если вы откроете файл package.json то увидите эти записи в двух разных разделах:

Ответ 10

— save-dev используется для модулей, используемых при разработке приложения, не требующих при его запуске в процессе производства — сохранить используется для добавления его в package.json и требуется для запуска приложения.

Пример: express, body-parser, lodash, helmet, mysql, все они используются во время использования приложения —save для установки зависимостей, в то время как мокка, istanbul, chai, sonarqube-scanner используются во время разработки, поэтому те из dev-зависимостей.

npm link или npm install также установит модули dev-dependency вместе с модулями зависимостей в вашей папке проекта

Ответ 11

Я хочу добавить некоторые мои идеи как

Я думаю, что все различия появятся, когда кто-то использует ваши коды вместо того, чтобы использовать самостоятельно

Например, вы пишете HTTP-библиотеку под названием node request

В вашей библиотеке

вы использовали lodash для обработки строк и объектов, без lodash ваши коды не могут работать

Если кто-то использует вашу HTTP-библиотеку как часть своего кода. Ваши коды будут скомпилированы с его.

ваши коды нуждаются в lodash, так что вам нужно поместить в dependencies для компиляции

Если вы пишете такой проект, как monaco-editor , который является веб-редактором,

у вас есть все ваши коды и product env library вашего product env library с помощью веб-пакета, когда сборка завершена, есть только monaco-min.js

Так что кто-то не —save ли —save или —save-dependencies , ему нужен только monaco-min.js

Если кто-то хочет скомпилировать ваши коды (использовать в качестве библиотеки), поместите lodash который используется вашими кодами, в dependencies

Если кто-то хочет добавить больше возможностей в ваши коды, ему нужен unit test и compiler , поместите их в dev-dependencies

Ответ 12

npm install сохраняет все указанные пакеты в зависимости по умолчанию. Кроме того, вы можете контролировать, где и как они сохраняются с помощью некоторых дополнительных флагов:

-P, —save-Prod: Пакет появится в ваших зависимостях. Это значение по умолчанию, если отсутствуют -D или -O .

-D, —save-Dev: Пакет появится в ваших devDependencies.

-O, —save-Optional: Пакет появится в ваших необязательных -O, —save-Optional: .

—no-save: предотвращает сохранение в зависимости.

При использовании любого из вышеперечисленных параметров для сохранения зависимостей в ваш package.json есть два дополнительных необязательных флага:

-E, —save-Exact: Сохраненные зависимости будут настроены с точной версией, а не с использованием оператора диапазона по умолчанию для npms.

-B, —save-Bundle: Сохраненные зависимости также будут добавлены в список bundleDependencies.

Ответ 13

Люди используют npm на производстве, чтобы делать злые классные вещи, например, Node.js, так что вам не нужно запускать все ваши инструменты разработки.

Если вы используете gulp (или аналогичный) для создания файлов сборки для размещения на вашем сервере, то это не имеет значения.

Источник

Читайте также:  Перекись водорода для местного применения что это значит
Оцените статью