Что такое опция --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
файл. Начните с запуска 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
-
npm i
равноnpm install
, означает модуль сохранения по умолчанию как зависимость; -
npm i -S
равноnpm install --save
(npm v5-) -
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]
➜ ~
реф.
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
–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