| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732 | .TH "CONFIG" "7" "August 2021" "" "".SH "NAME"\fBconfig\fR \- More than you probably want to know about npm configuration.SS Description.Pnpm gets its configuration values from the following sources, sorted by priority:.SS Command Line Flags.PPutting \fB\-\-foo bar\fP on the command line sets the \fBfoo\fP configurationparameter to \fB"bar"\fP\|\.  A \fB\-\-\fP argument tells the cli parser to stopreading flags\.  Using \fB\-\-flag\fP without specifying any value will setthe value to \fBtrue\fP\|\..PExample: \fB\-\-flag1 \-\-flag2\fP will set both configuration parametersto \fBtrue\fP, while \fB\-\-flag1 \-\-flag2 bar\fP will set \fBflag1\fP to \fBtrue\fP,and \fBflag2\fP to \fBbar\fP\|\.  Finally, \fB\-\-flag1 \-\-flag2 \-\- bar\fP will setboth configuration parameters to \fBtrue\fP, and the \fBbar\fP is takenas a command argument\..SS Environment Variables.PAny environment variables that start with \fBnpm_config_\fP will beinterpreted as a configuration parameter\.  For example, putting\fBnpm_config_foo=bar\fP in your environment will set the \fBfoo\fPconfiguration parameter to \fBbar\fP\|\.  Any environment configurations thatare not given a value will be given the value of \fBtrue\fP\|\.  Configvalues are case\-insensitive, so \fBNPM_CONFIG_FOO=bar\fP will work thesame\. However, please note that inside npm help \fBscripts\fPnpm will set its own environment variables and Node will preferthose lowercase versions over any uppercase ones that you might set\.For details see this issue \fIhttps://github\.com/npm/npm/issues/14528\fR\|\..PNotice that you need to use underscores instead of dashes, so \fB\-\-allow\-same\-version\fPwould become \fBnpm_config_allow_same_version=true\fP\|\..SS npmrc Files.PThe four relevant files are:.RS 0.IP \(bu 2per\-project configuration file (\fB/path/to/my/project/\.npmrc\fP).IP \(bu 2per\-user configuration file (defaults to \fB$HOME/\.npmrc\fP; configurable via CLIoption \fB\-\-userconfig\fP or environment variable \fB$NPM_CONFIG_USERCONFIG\fP).IP \(bu 2global configuration file (defaults to \fB$PREFIX/etc/npmrc\fP; configurable viaCLI option \fB\-\-globalconfig\fP or environment variable \fB$NPM_CONFIG_GLOBALCONFIG\fP).IP \(bu 2npm's built\-in configuration file (\fB/path/to/npm/npmrc\fP).RE.PSee npm help npmrc for more details\..SS Default Configs.PRun \fBnpm config ls \-l\fP to see a set of configuration parameters that areinternal to npm, and are defaults if nothing else is specified\..SS Shorthands and Other CLI Niceties.PThe following shorthands are parsed on the command\-line:.RS 0.IP \(bu 2\fB\-v\fP: \fB\-\-version\fP.IP \(bu 2\fB\-h\fP, \fB\-?\fP, \fB\-\-help\fP, \fB\-H\fP: \fB\-\-usage\fP.IP \(bu 2\fB\-s\fP, \fB\-\-silent\fP: \fB\-\-loglevel silent\fP.IP \(bu 2\fB\-q\fP, \fB\-\-quiet\fP: \fB\-\-loglevel warn\fP.IP \(bu 2\fB\-d\fP: \fB\-\-loglevel info\fP.IP \(bu 2\fB\-dd\fP, \fB\-\-verbose\fP: \fB\-\-loglevel verbose\fP.IP \(bu 2\fB\-ddd\fP: \fB\-\-loglevel silly\fP.IP \(bu 2\fB\-g\fP: \fB\-\-global\fP.IP \(bu 2\fB\-C\fP: \fB\-\-prefix\fP.IP \(bu 2\fB\-l\fP: \fB\-\-long\fP.IP \(bu 2\fB\-m\fP: \fB\-\-message\fP.IP \(bu 2\fB\-p\fP, \fB\-\-porcelain\fP: \fB\-\-parseable\fP.IP \(bu 2\fB\-reg\fP: \fB\-\-registry\fP.IP \(bu 2\fB\-f\fP: \fB\-\-force\fP.IP \(bu 2\fB\-desc\fP: \fB\-\-description\fP.IP \(bu 2\fB\-S\fP: \fB\-\-save\fP.IP \(bu 2\fB\-P\fP: \fB\-\-save\-prod\fP.IP \(bu 2\fB\-D\fP: \fB\-\-save\-dev\fP.IP \(bu 2\fB\-O\fP: \fB\-\-save\-optional\fP.IP \(bu 2\fB\-B\fP: \fB\-\-save\-bundle\fP.IP \(bu 2\fB\-E\fP: \fB\-\-save\-exact\fP.IP \(bu 2\fB\-y\fP: \fB\-\-yes\fP.IP \(bu 2\fB\-n\fP: \fB\-\-yes false\fP.IP \(bu 2\fBll\fP and \fBla\fP commands: \fBls \-\-long\fP.RE.PIf the specified configuration param resolves unambiguously to a knownconfiguration parameter, then it is expanded to that configurationparameter\.  For example:.P.RS 2.nfnpm ls \-\-par# same as:npm ls \-\-parseable.fi.RE.PIf multiple single\-character shorthands are strung together, and theresulting combination is unambiguously not some other configurationparam, then it is expanded to its various component pieces\.  Forexample:.P.RS 2.nfnpm ls \-gpld# same as:npm ls \-\-global \-\-parseable \-\-long \-\-loglevel info.fi.RE.SS Per\-Package Config Settings.PWhen running scripts (see npm help \fBscripts\fP) the package\.json "config"keys are overwritten in the environment if there is a config param of\fB<name>[@<version>]:<key>\fP\|\.  For example, if the package\.json hasthis:.P.RS 2.nf{ "name" : "foo", "config" : { "port" : "8080" }, "scripts" : { "start" : "node server\.js" } }.fi.RE.Pand the server\.js is this:.P.RS 2.nfhttp\.createServer(\.\.\.)\.listen(process\.env\.npm_package_config_port).fi.RE.Pthen the user could change the behavior by doing:.P.RS 2.nfnpm config set foo:port 80.fi.RE.PSee npm help package\.json for more information\..SS Config Settings.SS access.RS 0.IP \(bu 2Default: \fBrestricted\fP.IP \(bu 2Type: Access.RE.PWhen publishing scoped packages, the access level defaults to \fBrestricted\fP\|\.  Ifyou want your scoped package to be publicly viewable (and installable) set\fB\-\-access=public\fP\|\. The only valid values for \fBaccess\fP are \fBpublic\fP and\fBrestricted\fP\|\. Unscoped packages \fIalways\fR have an access level of \fBpublic\fP\|\..SS allow\-same\-version.RS 0.IP \(bu 2Default: false.IP \(bu 2Type: Boolean.RE.PPrevents throwing an error when \fBnpm version\fP is used to set the new versionto the same value as the current version\..SS always\-auth.RS 0.IP \(bu 2Default: false.IP \(bu 2Type: Boolean.RE.PForce npm to always require authentication when accessing the registry,even for \fBGET\fP requests\..SS also.RS 0.IP \(bu 2Default: null.IP \(bu 2Type: String.RE.PWhen "dev" or "development" and running local \fBnpm shrinkwrap\fP,\fBnpm outdated\fP, or \fBnpm update\fP, is an alias for \fB\-\-dev\fP\|\..SS audit.RS 0.IP \(bu 2Default: true.IP \(bu 2Type: Boolean.RE.PWhen "true" submit audit reports alongside \fBnpm install\fP runs to the defaultregistry and all registries configured for scopes\.  See the documentationfor npm help \fBaudit\fP for details on what is submitted\..SS audit\-level.RS 0.IP \(bu 2Default: \fB"low"\fP.IP \(bu 2Type: \fB\|'low'\fP, \fB\|'moderate'\fP, \fB\|'high'\fP, \fB\|'critical'\fP.RE.PThe minimum level of vulnerability for \fBnpm audit\fP to exit witha non\-zero exit code\..SS auth\-type.RS 0.IP \(bu 2Default: \fB\|'legacy'\fP.IP \(bu 2Type: \fB\|'legacy'\fP, \fB\|'sso'\fP, \fB\|'saml'\fP, \fB\|'oauth'\fP.RE.PWhat authentication strategy to use with \fBadduser\fP/\fBlogin\fP\|\..SS before.RS 0.IP \(bu 2Alias: enjoy\-by.IP \(bu 2Default: null.IP \(bu 2Type: Date.RE.PIf passed to \fBnpm install\fP, will rebuild the npm tree such that only versionsthat were available \fBon or before\fR the \fB\-\-before\fP time get installed\.If there's no versions available for the current set of direct dependencies, thecommand will error\..PIf the requested version is a \fBdist\-tag\fP and the given tag does not pass the\fB\-\-before\fP filter, the most recent version less than or equal to that tag willbe used\. For example, \fBfoo@latest\fP might install \fBfoo@1\.2\fP even though \fBlatest\fPis \fB2\.0\fP\|\..SS bin\-links.RS 0.IP \(bu 2Default: \fBtrue\fP.IP \(bu 2Type: Boolean.RE.PTells npm to create symlinks (or \fB\|\.cmd\fP shims on Windows) for packageexecutables\..PSet to false to have it not do this\.  This can be used to work aroundthe fact that some file systems don't support symlinks, even onostensibly Unix systems\..SS browser.RS 0.IP \(bu 2Default: OS X: \fB"open"\fP, Windows: \fB"start"\fP, Others: \fB"xdg\-open"\fP.IP \(bu 2Type: String.RE.PThe browser that is called by the \fBnpm docs\fP command to open websites\..SS ca.RS 0.IP \(bu 2Default: The npm CA certificate.IP \(bu 2Type: String, Array or null.RE.PThe Certificate Authority signing certificate that is trusted for SSLconnections to the registry\. Values should be in PEM format (Windows calls it "Base\-64 encoded X\.509 (\.CER)") with newlinesreplaced by the string "\\n"\. For example:.P.RS 2.nfca="\-\-\-\-\-BEGIN CERTIFICATE\-\-\-\-\-\\nXXXX\\nXXXX\\n\-\-\-\-\-END CERTIFICATE\-\-\-\-\-".fi.RE.PSet to \fBnull\fP to only allow "known" registrars, or to a specific CA certto trust only that specific signing authority\..PMultiple CAs can be trusted by specifying an array of certificates:.P.RS 2.nfca[]="\.\.\."ca[]="\.\.\.".fi.RE.PSee also the \fBstrict\-ssl\fP config\..SS cafile.RS 0.IP \(bu 2Default: \fBnull\fP.IP \(bu 2Type: path.RE.PA path to a file containing one or multiple Certificate Authority signingcertificates\. Similar to the \fBca\fP setting, but allows for multiple CA's, aswell as for the CA information to be stored in a file on disk\..SS cache.RS 0.IP \(bu 2Default: Windows: \fB%AppData%\\npm\-cache\fP, Posix: \fB~/\.npm\fP.IP \(bu 2Type: path.RE.PThe location of npm's cache directory\.  See npm help \fBcache\fP.SS cache\-lock\-stale.RS 0.IP \(bu 2Default: 60000 (1 minute).IP \(bu 2Type: Number.RE.PThe number of ms before cache folder lockfiles are considered stale\..SS cache\-lock\-retries.RS 0.IP \(bu 2Default: 10.IP \(bu 2Type: Number.RE.PNumber of times to retry to acquire a lock on cache folder lockfiles\..SS cache\-lock\-wait.RS 0.IP \(bu 2Default: 10000 (10 seconds).IP \(bu 2Type: Number.RE.PNumber of ms to wait for cache lock files to expire\..SS cache\-max.RS 0.IP \(bu 2Default: Infinity.IP \(bu 2Type: Number.RE.P\fBDEPRECATED\fR: This option has been deprecated in favor of \fB\-\-prefer\-online\fP\|\..P\fB\-\-cache\-max=0\fP is an alias for \fB\-\-prefer\-online\fP\|\..SS cache\-min.RS 0.IP \(bu 2Default: 10.IP \(bu 2Type: Number.RE.P\fBDEPRECATED\fR: This option has been deprecated in favor of \fB\-\-prefer\-offline\fP\|\..P\fB\-\-cache\-min=9999 (or bigger)\fP is an alias for \fB\-\-prefer\-offline\fP\|\..SS cert.RS 0.IP \(bu 2Default: \fBnull\fP.IP \(bu 2Type: String.RE.PA client certificate to pass when accessing the registry\.  Values should be inPEM format (Windows calls it "Base\-64 encoded X\.509 (\.CER)") with newlines replaced by the string "\\n"\. For example:.P.RS 2.nfcert="\-\-\-\-\-BEGIN CERTIFICATE\-\-\-\-\-\\nXXXX\\nXXXX\\n\-\-\-\-\-END CERTIFICATE\-\-\-\-\-".fi.RE.PIt is \fInot\fR the path to a certificate file (and there is no "certfile" option)\..SS cidr.RS 0.IP \(bu 2Default: \fBnull\fP.IP \(bu 2Type: String, Array, null.RE.PThis is a list of CIDR address to be used when configuring limited access tokens with the \fBnpm token create\fP command\..SS color.RS 0.IP \(bu 2Default: true.IP \(bu 2Type: Boolean or \fB"always"\fP.RE.PIf false, never shows colors\.  If \fB"always"\fP then always shows colors\.If true, then only prints color codes for tty file descriptors\..PThis option can also be changed using the environment: colors aredisabled when the environment variable \fBNO_COLOR\fP is set to any value\..SS depth.RS 0.IP \(bu 2Default: Infinity.IP \(bu 2Type: Number.RE.PThe depth to go when recursing directories for \fBnpm ls\fP,\fBnpm cache ls\fP, and \fBnpm outdated\fP\|\..PFor \fBnpm outdated\fP, a setting of \fBInfinity\fP will be treated as \fB0\fPsince that gives more useful information\.  To show the outdated statusof all packages and dependents, use a large integer value,e\.g\., \fBnpm outdated \-\-depth 9999\fP.SS description.RS 0.IP \(bu 2Default: true.IP \(bu 2Type: Boolean.RE.PShow the description in \fBnpm search\fP.SS dev.RS 0.IP \(bu 2Default: false.IP \(bu 2Type: Boolean.RE.PInstall \fBdev\-dependencies\fP along with packages\..SS dry\-run.RS 0.IP \(bu 2Default: false.IP \(bu 2Type: Boolean.RE.PIndicates that you don't want npm to make any changes and that it shouldonly report what it would have done\.  This can be passed into any of thecommands that modify your local installation, eg, \fBinstall\fP, \fBupdate\fP,\fBdedupe\fP, \fBuninstall\fP\|\.  This is NOT currently honored by some network relatedcommands, eg \fBdist\-tags\fP, \fBowner\fP, etc\..SS editor.RS 0.IP \(bu 2Default: \fBEDITOR\fP environment variable if set, or \fB"vi"\fP on Posix,or \fB"notepad"\fP on Windows\..IP \(bu 2Type: path.RE.PThe command to run for \fBnpm edit\fP or \fBnpm config edit\fP\|\..SS engine\-strict.RS 0.IP \(bu 2Default: false.IP \(bu 2Type: Boolean.RE.PIf set to true, then npm will stubbornly refuse to install (or evenconsider installing) any package that claims to not be compatible withthe current Node\.js version\..SS force.RS 0.IP \(bu 2Default: false.IP \(bu 2Type: Boolean.RE.PMakes various commands more forceful\..RS 0.IP \(bu 2lifecycle script failure does not block progress\..IP \(bu 2publishing clobbers previously published versions\..IP \(bu 2skips cache when requesting from the registry\..IP \(bu 2prevents checks against clobbering non\-npm files\..RE.SS format\-package\-lock.RS 0.IP \(bu 2Default: true.IP \(bu 2Type: Boolean.RE.PFormat \fBpackage\-lock\.json\fP or \fBnpm\-shrinkwrap\.json\fP as a human readable file\..SS fetch\-retries.RS 0.IP \(bu 2Default: 2.IP \(bu 2Type: Number.RE.PThe "retries" config for the \fBretry\fP module to use when fetchingpackages from the registry\..SS fetch\-retry\-factor.RS 0.IP \(bu 2Default: 10.IP \(bu 2Type: Number.RE.PThe "factor" config for the \fBretry\fP module to use when fetchingpackages\..SS fetch\-retry\-mintimeout.RS 0.IP \(bu 2Default: 10000 (10 seconds).IP \(bu 2Type: Number.RE.PThe "minTimeout" config for the \fBretry\fP module to use when fetchingpackages\..SS fetch\-retry\-maxtimeout.RS 0.IP \(bu 2Default: 60000 (1 minute).IP \(bu 2Type: Number.RE.PThe "maxTimeout" config for the \fBretry\fP module to use when fetchingpackages\..SS fund.RS 0.IP \(bu 2Default: true.IP \(bu 2Type: Boolean.RE.PWhen "true" displays the message at the end of each \fBnpm install\fPacknowledging the number of dependencies looking for funding\.See npm help \fBfund\fP for details\..SS git.RS 0.IP \(bu 2Default: \fB"git"\fP.IP \(bu 2Type: String.RE.PThe command to use for git commands\.  If git is installed on thecomputer, but is not in the \fBPATH\fP, then set this to the full path tothe git binary\..SS git\-tag\-version.RS 0.IP \(bu 2Default: \fBtrue\fP.IP \(bu 2Type: Boolean.RE.PTag the commit when using the \fBnpm version\fP command\..SS commit\-hooks.RS 0.IP \(bu 2Default: \fBtrue\fP.IP \(bu 2Type: Boolean.RE.PRun git commit hooks when using the \fBnpm version\fP command\..SS global.RS 0.IP \(bu 2Default: false.IP \(bu 2Type: Boolean.RE.POperates in "global" mode, so that packages are installed into the\fBprefix\fP folder instead of the current working directory\.  Seenpm help folders for more on the differences in behavior\..RS 0.IP \(bu 2packages are installed into the \fB{prefix}/lib/node_modules\fP folder, instead of thecurrent working directory\..IP \(bu 2bin files are linked to \fB{prefix}/bin\fP.IP \(bu 2man pages are linked to \fB{prefix}/share/man\fP.RE.SS globalconfig.RS 0.IP \(bu 2Default: {prefix}/etc/npmrc.IP \(bu 2Type: path.RE.PThe config file to read for global config options\..SS global\-style.RS 0.IP \(bu 2Default: false.IP \(bu 2Type: Boolean.RE.PCauses npm to install the package into your local \fBnode_modules\fP folder withthe same layout it uses with the global \fBnode_modules\fP folder\.  Only yourdirect dependencies will show in \fBnode_modules\fP and everything they dependon will be flattened in their \fBnode_modules\fP folders\.  This obviously willeliminate some deduping\. If used with \fBlegacy\-bundling\fP, \fBlegacy\-bundling\fP will bepreferred\..SS group.RS 0.IP \(bu 2Default: GID of the current process.IP \(bu 2Type: String or Number.RE.PThe group to use when running package scripts in global mode as the rootuser\..SS heading.RS 0.IP \(bu 2Default: \fB"npm"\fP.IP \(bu 2Type: String.RE.PThe string that starts all the debugging log output\..SS https\-proxy.RS 0.IP \(bu 2Default: null.IP \(bu 2Type: url.RE.PA proxy to use for outgoing https requests\. If the \fBHTTPS_PROXY\fP or\fBhttps_proxy\fP or \fBHTTP_PROXY\fP or \fBhttp_proxy\fP environment variables are set,proxy settings will be honored by the underlying \fBrequest\fP library\..SS if\-present.RS 0.IP \(bu 2Default: false.IP \(bu 2Type: Boolean.RE.PIf true, npm will not exit with an error code when \fBrun\-script\fP is invoked fora script that isn't defined in the \fBscripts\fP section of \fBpackage\.json\fP\|\. Thisoption can be used when it's desirable to optionally run a script when it'spresent and fail if the script fails\. This is useful, for example, when runningscripts that may only apply for some builds in an otherwise generic CI setup\..SS ignore\-prepublish.RS 0.IP \(bu 2Default: false.IP \(bu 2Type: Boolean.RE.PIf true, npm will not run \fBprepublish\fP scripts\..SS ignore\-scripts.RS 0.IP \(bu 2Default: false.IP \(bu 2Type: Boolean.RE.PIf true, npm does not run scripts specified in package\.json files\..SS init\-module.RS 0.IP \(bu 2Default: ~/\.npm\-init\.js.IP \(bu 2Type: path.RE.PA module that will be loaded by the \fBnpm init\fP command\.  See thedocumentation for theinit\-package\-json \fIhttps://github\.com/isaacs/init\-package\-json\fR modulefor more information, or npm help init\..SS init\-author\-name.RS 0.IP \(bu 2Default: "".IP \(bu 2Type: String.RE.PThe value \fBnpm init\fP should use by default for the package author's name\..SS init\-author\-email.RS 0.IP \(bu 2Default: "".IP \(bu 2Type: String.RE.PThe value \fBnpm init\fP should use by default for the package author's email\..SS init\-author\-url.RS 0.IP \(bu 2Default: "".IP \(bu 2Type: String.RE.PThe value \fBnpm init\fP should use by default for the package author's homepage\..SS init\-license.RS 0.IP \(bu 2Default: "ISC".IP \(bu 2Type: String.RE.PThe value \fBnpm init\fP should use by default for the package license\..SS init\-version.RS 0.IP \(bu 2Default: "1\.0\.0".IP \(bu 2Type: semver.RE.PThe value that \fBnpm init\fP should use by default for the packageversion number, if not already set in package\.json\..SS json.RS 0.IP \(bu 2Default: false.IP \(bu 2Type: Boolean.RE.PWhether or not to output JSON data, rather than the normal output\..PThis feature is currently experimental, and the output data structures for manycommands is either not implemented in JSON yet, or subject to change\.  Only theoutput from \fBnpm ls \-\-json\fP and \fBnpm search \-\-json\fP are currently valid\..SS key.RS 0.IP \(bu 2Default: \fBnull\fP.IP \(bu 2Type: String.RE.PA client key to pass when accessing the registry\.  Values should be in PEMformat with newlines replaced by the string "\\n"\. For example:.P.RS 2.nfkey="\-\-\-\-\-BEGIN PRIVATE KEY\-\-\-\-\-\\nXXXX\\nXXXX\\n\-\-\-\-\-END PRIVATE KEY\-\-\-\-\-".fi.RE.PIt is \fInot\fR the path to a key file (and there is no "keyfile" option)\..SS legacy\-bundling.RS 0.IP \(bu 2Default: false.IP \(bu 2Type: Boolean.RE.PCauses npm to install the package such that versions of npm prior to 1\.4,such as the one included with node 0\.8, can install the package\.  Thiseliminates all automatic deduping\. If used with \fBglobal\-style\fP this optionwill be preferred\..SS link.RS 0.IP \(bu 2Default: false.IP \(bu 2Type: Boolean.RE.PIf true, then local installs will link if there is a suitable globallyinstalled package\..PNote that this means that local installs can cause things to beinstalled into the global space at the same time\.  The link is only doneif one of the two conditions are met:.RS 0.IP \(bu 2The package is not already installed globally, or.IP \(bu 2the globally installed version is identical to the version that isbeing installed locally\..RE.SS local\-address.RS 0.IP \(bu 2Default: undefined.IP \(bu 2Type: IP Address.RE.PThe IP address of the local interface to use when making connectionsto the npm registry\.  Must be IPv4 in versions of Node prior to 0\.12\..SS loglevel.RS 0.IP \(bu 2Default: "notice".IP \(bu 2Type: String.IP \(bu 2Values: "silent", "error", "warn", "notice", "http", "timing", "info","verbose", "silly".RE.PWhat level of logs to report\.  On failure, \fIall\fR logs are written to\fBnpm\-debug\.log\fP in the current working directory\..PAny logs of a higher level than the setting are shown\. The default is "notice"\..SS logstream.RS 0.IP \(bu 2Default: process\.stderr.IP \(bu 2Type: Stream.RE.PThis is the stream that is passed to thenpmlog \fIhttps://github\.com/npm/npmlog\fR module at run time\..PIt cannot be set from the command line, but if you are using npmprogrammatically, you may wish to send logs to somewhere other thanstderr\..PIf the \fBcolor\fP config is set to true, then this stream will receivecolored output if it is a TTY\..SS logs\-max.RS 0.IP \(bu 2Default: 10.IP \(bu 2Type: Number.RE.PThe maximum number of log files to store\..SS long.RS 0.IP \(bu 2Default: false.IP \(bu 2Type: Boolean.RE.PShow extended information in \fBnpm ls\fP and \fBnpm search\fP\|\..SS maxsockets.RS 0.IP \(bu 2Default: 50.IP \(bu 2Type: Number.RE.PThe maximum number of connections to use per origin (protocol/host/portcombination)\. Passed to the \fBhttp\fP \fBAgent\fP used to make the request\..SS message.RS 0.IP \(bu 2Default: "%s".IP \(bu 2Type: String.RE.PCommit message which is used by \fBnpm version\fP when creating version commit\..PAny "%s" in the message will be replaced with the version number\..SS metrics\-registry.RS 0.IP \(bu 2Default: The value of  \fBregistry\fP (which defaults to "https://registry\.npmjs\.org/").IP \(bu 2Type: String.RE.PThe registry you want to send cli metrics to if \fBsend\-metrics\fP is true\..SS node\-options.RS 0.IP \(bu 2Default: null.IP \(bu 2Type: String.RE.POptions to pass through to Node\.js via the \fBNODE_OPTIONS\fP environmentvariable\.  This does not impact how npm itself is executed but it doesimpact how lifecycle scripts are called\..SS node\-version.RS 0.IP \(bu 2Default: process\.version.IP \(bu 2Type: semver or false.RE.PThe node version to use when checking a package's \fBengines\fP map\..SS noproxy.RS 0.IP \(bu 2Default: null.IP \(bu 2Type: String or Array.RE.PA comma\-separated string or an array of domain extensions that a proxy should not be used for\..SS offline.RS 0.IP \(bu 2Default: false.IP \(bu 2Type: Boolean.RE.PForce offline mode: no network requests will be done during install\. To allowthe CLI to fill in missing cache data, see \fB\-\-prefer\-offline\fP\|\..SS onload\-script.RS 0.IP \(bu 2Default: false.IP \(bu 2Type: path.RE.PA node module to \fBrequire()\fP when npm loads\.  Useful for programmaticusage\..SS only.RS 0.IP \(bu 2Default: null.IP \(bu 2Type: String.RE.PWhen "dev" or "development" and running local \fBnpm install\fP without anyarguments, only devDependencies (and their dependencies) are installed\..PWhen "dev" or "development" and running local \fBnpm ls\fP, \fBnpm outdated\fP, or\fBnpm update\fP, is an alias for \fB\-\-dev\fP\|\..PWhen "prod" or "production" and running local \fBnpm install\fP without anyarguments, only non\-devDependencies (and their dependencies) areinstalled\..PWhen "prod" or "production" and running local \fBnpm ls\fP, \fBnpm outdated\fP, or\fBnpm update\fP, is an alias for \fB\-\-production\fP\|\..SS optional.RS 0.IP \(bu 2Default: true.IP \(bu 2Type: Boolean.RE.PAttempt to install packages in the \fBoptionalDependencies\fP object\.  Notethat if these packages fail to install, the overall installationprocess is not aborted\..SS otp.RS 0.IP \(bu 2Default: null.IP \(bu 2Type: Number.RE.PThis is a one\-time password from a two\-factor authenticator\.  It's neededwhen publishing or changing package permissions with \fBnpm access\fP\|\..SS package\-lock.RS 0.IP \(bu 2Default: true.IP \(bu 2Type: Boolean.RE.PIf set to false, then ignore \fBpackage\-lock\.json\fP files when installing\. Thiswill also prevent \fIwriting\fR \fBpackage\-lock\.json\fP if \fBsave\fP is true\..PWhen package package\-locks are disabled, automatic pruning of extraneousmodules will also be disabled\.  To remove extraneous modules withpackage\-locks disabled use \fBnpm prune\fP\|\..PThis option is an alias for \fB\-\-shrinkwrap\fP\|\..SS package\-lock\-only.RS 0.IP \(bu 2Default: false.IP \(bu 2Type: Boolean.RE.PIf set to true, it will update only the \fBpackage\-lock\.json\fP,instead of checking \fBnode_modules\fP and downloading dependencies\..SS parseable.RS 0.IP \(bu 2Default: false.IP \(bu 2Type: Boolean.RE.POutput parseable results from commands that write tostandard output\. For \fBnpm search\fP, this will be tab\-separated table format\..SS prefer\-offline.RS 0.IP \(bu 2Default: false.IP \(bu 2Type: Boolean.RE.PIf true, staleness checks for cached data will be bypassed, but missing datawill be requested from the server\. To force full offline mode, use \fB\-\-offline\fP\|\..PThis option is effectively equivalent to \fB\-\-cache\-min=9999999\fP\|\..SS prefer\-online.RS 0.IP \(bu 2Default: false.IP \(bu 2Type: Boolean.RE.PIf true, staleness checks for cached data will be forced, making the CLI lookfor updates immediately even for fresh package data\..SS prefix.RS 0.IP \(bu 2Default: see npm help folders.IP \(bu 2Type: path.RE.PThe location to install global items\.  If set on the command line, thenit forces non\-global commands to run in the specified folder\..SS preid.RS 0.IP \(bu 2Default: "".IP \(bu 2Type: String.RE.PThe "prerelease identifier" to use as a prefix for the "prerelease" part of asemver\. Like the \fBrc\fP in \fB1\.2\.0\-rc\.8\fP\|\..SS production.RS 0.IP \(bu 2Default: false.IP \(bu 2Type: Boolean.RE.PSet to true to run in "production" mode\..RS 0.IP 1. 3devDependencies are not installed at the topmost level when runninglocal \fBnpm install\fP without any arguments\..IP 2. 3Set the NODE_ENV="production" for lifecycle scripts\..RE.SS progress.RS 0.IP \(bu 2Default: true, unless TRAVIS or CI env vars set\..IP \(bu 2Type: Boolean.RE.PWhen set to \fBtrue\fP, npm will display a progress bar during time intensiveoperations, if \fBprocess\.stderr\fP is a TTY\..PSet to \fBfalse\fP to suppress the progress bar\..SS proxy.RS 0.IP \(bu 2Default: null.IP \(bu 2Type: url.RE.PA proxy to use for outgoing http requests\. If the \fBHTTP_PROXY\fP or\fBhttp_proxy\fP environment variables are set, proxy settings will behonored by the underlying \fBrequest\fP library\..SS read\-only.RS 0.IP \(bu 2Default: false.IP \(bu 2Type: Boolean.RE.PThis is used to mark a token as unable to publish when configuring limited access tokens with the \fBnpm token create\fP command\..SS rebuild\-bundle.RS 0.IP \(bu 2Default: true.IP \(bu 2Type: Boolean.RE.PRebuild bundled dependencies after installation\..SS registry.RS 0.IP \(bu 2Default: https://registry\.npmjs\.org/.IP \(bu 2Type: url.RE.PThe base URL of the npm package registry\..SS rollback.RS 0.IP \(bu 2Default: true.IP \(bu 2Type: Boolean.RE.PRemove failed installs\..SS save.RS 0.IP \(bu 2Default: true.IP \(bu 2Type: Boolean.RE.PSave installed packages to a package\.json file as dependencies\..PWhen used with the \fBnpm rm\fP command, it removes it from the \fBdependencies\fPobject\..POnly works if there is already a package\.json file present\..SS save\-bundle.RS 0.IP \(bu 2Default: false.IP \(bu 2Type: Boolean.RE.PIf a package would be saved at install time by the use of \fB\-\-save\fP,\fB\-\-save\-dev\fP, or \fB\-\-save\-optional\fP, then also put it in the\fBbundleDependencies\fP list\..PWhen used with the \fBnpm rm\fP command, it removes it from thebundledDependencies list\..SS save\-prod.RS 0.IP \(bu 2Default: false.IP \(bu 2Type: Boolean.RE.PMakes sure that a package will be saved into \fBdependencies\fP specifically\. Thisis useful if a package already exists in \fBdevDependencies\fP or\fBoptionalDependencies\fP, but you want to move it to be a production dep\. This isalso the default behavior if \fB\-\-save\fP is true, and neither \fB\-\-save\-dev\fP or\fB\-\-save\-optional\fP are true\..SS save\-dev.RS 0.IP \(bu 2Default: false.IP \(bu 2Type: Boolean.RE.PSave installed packages to a package\.json file as \fBdevDependencies\fP\|\..PWhen used with the \fBnpm rm\fP command, it removes it from the\fBdevDependencies\fP object\..POnly works if there is already a package\.json file present\..SS save\-exact.RS 0.IP \(bu 2Default: false.IP \(bu 2Type: Boolean.RE.PDependencies saved to package\.json using \fB\-\-save\fP, \fB\-\-save\-dev\fP or\fB\-\-save\-optional\fP will be configured with an exact version rather thanusing npm's default semver range operator\..SS save\-optional.RS 0.IP \(bu 2Default: false.IP \(bu 2Type: Boolean.RE.PSave installed packages to a package\.json file asoptionalDependencies\..PWhen used with the \fBnpm rm\fP command, it removes it from the\fBdevDependencies\fP object\..POnly works if there is already a package\.json file present\..SS save\-prefix.RS 0.IP \(bu 2Default: '^'.IP \(bu 2Type: String.RE.PConfigure how versions of packages installed to a package\.json file via\fB\-\-save\fP or \fB\-\-save\-dev\fP get prefixed\..PFor example if a package has version \fB1\.2\.3\fP, by default its version isset to \fB^1\.2\.3\fP which allows minor upgrades for that package, but after\fBnpm config set save\-prefix='~'\fP it would be set to \fB~1\.2\.3\fP which only allowspatch upgrades\..SS scope.RS 0.IP \(bu 2Default: the scope of the current project, if any, or "".IP \(bu 2Type: String.RE.PAssociate an operation with a scope for a scoped registry\. Useful when loggingin to a private registry for the first time:\fBnpm login \-\-scope=@organization \-\-registry=registry\.organization\.com\fP, whichwill cause \fB@organization\fP to be mapped to the registry for future installationof packages specified according to the pattern \fB@organization/package\fP\|\..SS script\-shell.RS 0.IP \(bu 2Default: \fBnull\fP.IP \(bu 2Type: path.RE.PThe shell to use for scripts run with the \fBnpm run\fP command\..SS scripts\-prepend\-node\-path.RS 0.IP \(bu 2Default: "warn\-only".IP \(bu 2Type: Boolean, \fB"auto"\fP or \fB"warn\-only"\fP.RE.PIf set to \fBtrue\fP, add the directory in which the current \fBnode\fP executableresides to the \fBPATH\fP environment variable when running scripts,even if that means that \fBnpm\fP will invoke a different \fBnode\fP executable thanthe one which it is running\..PIf set to \fBfalse\fP, never modify \fBPATH\fP with that\..PIf set to \fB"warn\-only"\fP, never modify \fBPATH\fP but print a warning if \fBnpm\fP thinksthat you may want to run it with \fBtrue\fP, e\.g\. because the \fBnode\fP executablein the \fBPATH\fP is not the one \fBnpm\fP was invoked with\..PIf set to \fBauto\fP, only add that directory to the \fBPATH\fP environment variableif the \fBnode\fP executable with which \fBnpm\fP was invoked and the one that is foundfirst on the \fBPATH\fP are different\..SS searchexclude.RS 0.IP \(bu 2Default: "".IP \(bu 2Type: String.RE.PSpace\-separated options that limit the results from search\..SS searchopts.RS 0.IP \(bu 2Default: "".IP \(bu 2Type: String.RE.PSpace\-separated options that are always passed to search\..SS searchlimit.RS 0.IP \(bu 2Default: 20.IP \(bu 2Type: Number.RE.PNumber of items to limit search results to\. Will not apply at all to legacysearches\..SS searchstaleness.RS 0.IP \(bu 2Default: 900 (15 minutes).IP \(bu 2Type: Number.RE.PThe age of the cache, in seconds, before another registry request is made ifusing legacy search endpoint\..SS send\-metrics.RS 0.IP \(bu 2Default: false.IP \(bu 2Type: Boolean.RE.PIf true, success/failure metrics will be reported to the registry stored in\fBmetrics\-registry\fP\|\.  These requests contain the number of successful andfailing runs of the npm CLI and the time period overwhich those counts weregathered\. No identifying information is included in these requests\..SS shell.RS 0.IP \(bu 2Default: SHELL environment variable, or "bash" on Posix, or "cmd" onWindows.IP \(bu 2Type: path.RE.PThe shell to run for the \fBnpm explore\fP command\..SS shrinkwrap.RS 0.IP \(bu 2Default: true.IP \(bu 2Type: Boolean.RE.PIf set to false, then ignore \fBnpm\-shrinkwrap\.json\fP files when installing\. Thiswill also prevent \fIwriting\fR \fBnpm\-shrinkwrap\.json\fP if \fBsave\fP is true\..PThis option is an alias for \fB\-\-package\-lock\fP\|\..SS sign\-git\-commit.RS 0.IP \(bu 2Default: false.IP \(bu 2Type: Boolean.RE.PIf set to true, then the \fBnpm version\fP command will commit the new packageversion using \fB\-S\fP to add a signature\..PNote that git requires you to have set up GPG keys in your git configsfor this to work properly\..SS sign\-git\-tag.RS 0.IP \(bu 2Default: false.IP \(bu 2Type: Boolean.RE.PIf set to true, then the \fBnpm version\fP command will tag the versionusing \fB\-s\fP to add a signature\..PNote that git requires you to have set up GPG keys in your git configsfor this to work properly\..SS sso\-poll\-frequency.RS 0.IP \(bu 2Default: 500.IP \(bu 2Type: Number.RE.PWhen used with SSO\-enabled \fBauth\-type\fPs, configures how regularly the registryshould be polled while the user is completing authentication\..SS sso\-type.RS 0.IP \(bu 2Default: 'oauth'.IP \(bu 2Type: 'oauth', 'saml', or null.RE.PIf \fB\-\-auth\-type=sso\fP, the type of SSO type to use\..SS strict\-ssl.RS 0.IP \(bu 2Default: true.IP \(bu 2Type: Boolean.RE.PWhether or not to do SSL key validation when making requests to theregistry via https\..PSee also the \fBca\fP config\..SS tag.RS 0.IP \(bu 2Default: latest.IP \(bu 2Type: String.RE.PIf you ask npm to install a package and don't tell it a specific version, thenit will install the specified tag\..PAlso the tag that is added to the package@version specified by the \fBnpmtag\fP command, if no explicit tag is given\..SS tag\-version\-prefix.RS 0.IP \(bu 2Default: \fB"v"\fP.IP \(bu 2Type: String.RE.PIf set, alters the prefix used when tagging a new version when performing aversion increment using  \fBnpm\-version\fP\|\. To remove the prefix altogether, set itto the empty string: \fB""\fP\|\..PBecause other tools may rely on the convention that npm version tags look like\fBv1\.0\.0\fP, \fIonly use this property if it is absolutely necessary\fR\|\. Inparticular, use care when overriding this setting for public packages\..SS timing.RS 0.IP \(bu 2Default: \fBfalse\fP.IP \(bu 2Type: Boolean.RE.PIf true, writes an \fBnpm\-debug\fP log to \fB_logs\fP and timing information to\fB_timing\.json\fP, both in your cache\.  \fB_timing\.json\fP is a newline delimitedlist of JSON objects\.  You can quickly view it with thisjson \fIhttps://www\.npmjs\.com/package/json\fR command line:\fBjson \-g < ~/\.npm/_timing\.json\fP\|\..SS tmp.RS 0.IP \(bu 2Default: TMPDIR environment variable, or "/tmp".IP \(bu 2Type: path.RE.PWhere to store temporary files and folders\.  All temp files are deletedon success, but left behind on failure for forensic purposes\..SS unicode.RS 0.IP \(bu 2Default: false on windows, true on mac/unix systems with a unicode locale.IP \(bu 2Type: Boolean.RE.PWhen set to true, npm uses unicode characters in the tree output\.  Whenfalse, it uses ascii characters to draw trees\..SS unsafe\-perm.RS 0.IP \(bu 2Default: false if running as root, true otherwise.IP \(bu 2Type: Boolean.RE.PSet to true to suppress the UID/GID switching when running packagescripts\.  If set explicitly to false, then installing as a non\-root userwill fail\..SS update\-notifier.RS 0.IP \(bu 2Default: true.IP \(bu 2Type: Boolean.RE.PSet to false to suppress the update notification when using an olderversion of npm than the latest\..SS usage.RS 0.IP \(bu 2Default: false.IP \(bu 2Type: Boolean.RE.PSet to show short usage output (like the \-H output)instead of complete help when doing npm help \fBhelp\fP\|\..SS user.RS 0.IP \(bu 2Default: "nobody".IP \(bu 2Type: String or Number.RE.PThe UID to set to when running package scripts as root\..SS userconfig.RS 0.IP \(bu 2Default: ~/\.npmrc.IP \(bu 2Type: path.RE.PThe location of user\-level configuration settings\..SS umask.RS 0.IP \(bu 2Default: 022.IP \(bu 2Type: Octal numeric string in range 0000\.\.0777 (0\.\.511).RE.PThe "umask" value to use when setting the file creation mode on filesand folders\..PFolders and executables are given a mode which is \fB0777\fP masked againstthis value\.  Other files are given a mode which is \fB0666\fP masked againstthis value\.  Thus, the defaults are \fB0755\fP and \fB0644\fP respectively\..SS user\-agent.RS 0.IP \(bu 2Default: node/{process\.version} {process\.platform} {process\.arch}.IP \(bu 2Type: String.RE.PSets a User\-Agent to the request header.SS version.RS 0.IP \(bu 2Default: false.IP \(bu 2Type: boolean.RE.PIf true, output the npm version and exit successfully\..POnly relevant when specified explicitly on the command line\..SS versions.RS 0.IP \(bu 2Default: false.IP \(bu 2Type: boolean.RE.PIf true, output the npm version as well as node's \fBprocess\.versions\fP map, andexit successfully\..POnly relevant when specified explicitly on the command line\..SS viewer.RS 0.IP \(bu 2Default: "man" on Posix, "browser" on Windows.IP \(bu 2Type: path.RE.PThe program to use to view help content\..PSet to \fB"browser"\fP to view html help content in the default web browser\..SS See also.RS 0.IP \(bu 2npm help config.IP \(bu 2npm help npmrc.IP \(bu 2npm help scripts.IP \(bu 2npm help folders.IP \(bu 2npm help npm.RE
 |