Что такое опция --save для установки npm?

Я видел учебник, где команда была:

npm install --save

Что это --save вариант значит?

Не удалось найти ответ в Google.

15 ответов

Решение

Обновление npm 5:

Начиная с npm 5.0.0, установленные модули по умолчанию добавляются как зависимости, поэтому --save опция больше не нужна. Другие варианты сохранения все еще существуют и перечислены в документации для npm install,

Оригинальный ответ:

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

--save опция проинструктировала NPM включить пакет внутри dependencies раздел вашего package.json автоматически, тем самым экономя вам дополнительный шаг.

Кроме того, есть дополнительные варианты --save-dev а также --save-optional которые сохраняют пакет под devDependencies а также optionalDependenciesсоответственно. Это полезно при установке пакетов только для разработки, таких как grunt или ваша тестовая библиотека.

Чтобы добавить пакет в зависимости:

npm install my_dep --save

или же

npm install my_dep -S

Добавить пакет в devDependencies

npm install my_test_framework --save-dev

или же

npm install my_test_framework -D

package.json введите описание изображения здесь

Это ничего не сделает, если у вас нет package.json файл. Начните с запуска npm init создать один. Затем звонит npm install --save или же npm install --save-dev или же npm install --save-optional обновит package.json перечислить ваши зависимости.

В соответствии с NPM Doc

Так что кажется, что, запустив npm install package_name, зависимость пакета должна автоматически добавляться в package.json, верно?

Вы также можете использовать -S, -D или же -P которые эквивалентны сохранению пакета в зависимости от приложения, зависимости dev или prod. Смотрите другие ярлыки NPM ниже:

-v: --version
-h, -?, --help, -H: --usage
-s, --silent: --loglevel silent
-q, --quiet: --loglevel warn
-d: --loglevel info
-dd, --verbose: --loglevel verbose
-ddd: --loglevel silly
-g: --global
-C: --prefix
-l: --long
-m: --message
-p, --porcelain: --parseable
-reg: --registry
-f: --force
-desc: --description
-S: --save
-P: --save-prod
-D: --save-dev
-O: --save-optional
-B: --save-bundle
-E: --save-exact
-y: --yes
-n: --yes false
ll and la commands: ls --long

Этот список ярлыков можно получить, выполнив следующую команду:

$ npm help 7 config

npm v6.x обновление ✅

теперь вы можете использовать один из npm i или же npm i -S или же npm i -P для установки и сохранения модуля как зависимости.

npm i это псевдоним npm install

  1. npm i равно npm install, означает модуль сохранения по умолчанию как зависимость;
  2. npm i -S равно npm install --save (npm v5-)
  3. npm i -P равно npm install --save-prod (npm v5+)

проверьте свою версию npm

       $ npm -v
6.14.4

получить помощь npm

       ➜  ~ npm -h

Usage: npm <command>

where <command> is one of:
    access, adduser, audit, bin, bugs, c, cache, ci, cit,
    clean-install, clean-install-test, completion, config,
    create, ddp, dedupe, deprecate, dist-tag, docs, doctor,
    edit, explore, fund, get, help, help-search, hook, i, init,
    install, install-ci-test, install-test, it, link, list, ln,
    login, logout, ls, org, outdated, owner, pack, ping, prefix,
    profile, prune, publish, rb, rebuild, repo, restart, root,
    run, run-script, s, se, search, set, shrinkwrap, star,
    stars, start, stop, t, team, test, token, tst, un,
    uninstall, unpublish, unstar, up, update, v, version, view,
    whoami

npm <command> -h  quick help on <command>
npm -l            display full usage info
npm help <term>   search for help on <term>
npm help npm      involved overview

Specify configs in the ini-formatted file:
    /Users/xgqfrms-mbp/.npmrc
or on the command line via: npm <command> --key value
Config info can be viewed via: npm help config

npm@6.14.4 /Users/xgqfrms-mbp/.nvm/versions/node/v12.18.0/lib/node_modules/npm

получить помощь по установке npm

npm -h i / npm help install

       $ npm -h i  

npm install (with no args, in package dir)
npm install [<@scope>/]<pkg>
npm install [<@scope>/]<pkg>@<tag>
npm install [<@scope>/]<pkg>@<version>
npm install [<@scope>/]<pkg>@<version range>
npm install <alias>@npm:<name>
npm install <folder>
npm install <tarball file>
npm install <tarball url>
npm install <git:// url>
npm install <github username>/<github project>

aliases: i, isntall, add
common options: [--save-prod|--save-dev|--save-optional] [--save-exact] [--no-save]
➜  ~ 

реф.

https://docs.npmjs.com/cli/install

npm install package_x --save

Данный пакет (package_x) будет сохранен в package.json внутри зависимостей. если вы добавите

npm install <> --save-dev

тогда он будет сохранен внутри "devDependencies".

Начиная с npm 5, его выгоднее использовать --save-prod (или же -P) чем --save но делать то же самое, что указано в npm install. До сих пор, --save все еще работает, если предусмотрено.

Начиная с npm 5, npm теперь будет сохраняться по умолчанию. В случае, если вы хотите, чтобы npm работал по старому принципу (без автосохранения) так, как он работал в предыдущих версиях, вы можете обновить опцию config, чтобы включить автосохранение, как показано ниже.

npm config set save false

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

npm config get save

Источник: https://blog.pusher.com/what-you-need-know-npm-5/

–Npm install --save или -S: при использовании следующей команды с npm install все установленные вами основные пакеты будут сохранены в разделе зависимостей файла package.json. Основные зависимости - это те пакеты, без которых ваше приложение не даст желаемых результатов. Но, как упоминалось ранее, это ненужная функция в версии npm 5.0.0 и новее.

      npm install --save

npm install --save или же npm install --save-dev почему мы выбираем 1 вариант между этими двумя при установке пакета в нашем проекте.

из приведенных выше ответов ясно, что npm install --save добавит запись в dependency поле в pacakage.json файл и другой в dev-dependency,

Поэтому возникает вопрос, зачем нам нужно вводить наш установочный модуль в файл pacakge.json, потому что всякий раз, когда мы регистрируем код в git или давая наш код кому-то, мы всегда даем или проверяем его без node-modules потому что он очень большой по размеру и также доступен в общем месте, поэтому, чтобы избежать этого, мы делаем это.

Итак, как другой человек получит все модули, которые специально или необходимы для этого проекта, так что ответы from the package.json файл, содержащий записи всех необходимых пакетов для запуска или разработки этого проекта.

поэтому после получения кода we simply need to run the npm install Команда прочитает файл package.json и установит необходимые необходимые пакеты.

Npm я (имя пакета) - сохранить

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

npm поможет установить

Приведенная выше команда поможет найти дополнительную опцию и исправить def.shown на рис.

Более простой (и более удивительный) способ добавить зависимости в ваш package.json - это сделать это из командной строки, пометив команду установки npm с помощью --save или --save-dev, в зависимости от того, как вы хотите использовать эту зависимость.

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

      npm install moment --save 
npm i moment -S (same result)

(это для производственной среды)

      npm install moment --save--dev 
npm i moment -D (same result)

(это для среды разработки)

Делать npm install --save. Если это не сработает, скачайте пряжу и попробуйте использовать ее. Из пряжи можно сделать: yarn add

Другие вопросы по тегам