123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193 |
- .TH "NPM" "1" "October 2021" "" ""
- .SH "NAME"
- \fBnpm\fR \- javascript package manager
- .SS Synopsis
- .P
- .RS 2
- .nf
- npm <command> [args]
- .fi
- .RE
- .SS Version
- .P
- 8\.1\.2
- .SS Description
- .P
- npm is the package manager for the Node JavaScript platform\. It puts
- modules in place so that node can find them, and manages dependency
- conflicts intelligently\.
- .P
- It is extremely configurable to support a variety of use cases\. Most
- commonly, you use it to publish, discover, install, and develop node
- programs\.
- .P
- Run \fBnpm help\fP to get a list of available commands\.
- .SS Important
- .P
- npm comes preconfigured to use npm's public registry at
- https://registry\.npmjs\.org by default\. Use of the npm public registry is
- subject to terms of use available at
- https://docs\.npmjs\.com/policies/terms\.
- .P
- You can configure npm to use any compatible registry you like, and even
- run your own registry\. Use of someone else's registry is governed by
- their terms of use\.
- .SS Introduction
- .P
- You probably got npm because you want to install stuff\.
- .P
- The very first thing you will most likely want to run in any node
- program is \fBnpm install\fP to install its dependencies\.
- .P
- You can also run \fBnpm install blerg\fP to install the latest version of
- "blerg"\. Check out npm help \fBinstall\fP for more
- info\. It can do a lot of stuff\.
- .P
- Use the \fBnpm search\fP command to show everything that's available in the
- public registry\. Use \fBnpm ls\fP to show everything you've installed\.
- .SS Dependencies
- .P
- If a package lists a dependency using a git URL, npm will install that
- dependency using the \fBgit\fP \fIhttps://github\.com/git\-guides/install\-git\fR
- command and will generate an error if it is not installed\.
- .P
- If one of the packages npm tries to install is a native node module and
- requires compiling of C++ Code, npm will use
- node\-gyp \fIhttps://github\.com/nodejs/node\-gyp\fR for that task\.
- For a Unix system, node\-gyp \fIhttps://github\.com/nodejs/node\-gyp\fR
- needs Python, make and a buildchain like GCC\. On Windows,
- Python and Microsoft Visual Studio C++ are needed\. For more information
- visit the node\-gyp repository \fIhttps://github\.com/nodejs/node\-gyp\fR and
- the node\-gyp Wiki \fIhttps://github\.com/nodejs/node\-gyp/wiki\fR\|\.
- .SS Directories
- .P
- See npm help \fBfolders\fP to learn about where npm puts
- stuff\.
- .P
- In particular, npm has two modes of operation:
- .RS 0
- .IP \(bu 2
- local mode:
- npm installs packages into the current project directory, which
- defaults to the current working directory\. Packages install to
- \fB\|\./node_modules\fP, and bins to \fB\|\./node_modules/\.bin\fP\|\.
- .IP \(bu 2
- global mode:
- npm installs packages into the install prefix at
- \fB$npm_config_prefix/lib/node_modules\fP and bins to
- \fB$npm_config_prefix/bin\fP\|\.
- .RE
- .P
- Local mode is the default\. Use \fB\-g\fP or \fB\-\-global\fP on any command to
- run in global mode instead\.
- .SS Developer Usage
- .P
- If you're using npm to develop and publish your code, check out the
- following help topics:
- .RS 0
- .IP \(bu 2
- json:
- Make a package\.json file\. See
- npm help \fBpackage\.json\fP\|\.
- .IP \(bu 2
- link:
- Links your current working code into Node's path, so that you don't
- have to reinstall every time you make a change\. Use npm help \fBnpm
- link\fP to do this\.
- .IP \(bu 2
- install:
- It's a good idea to install things if you don't need the symbolic
- link\. Especially, installing other peoples code from the registry is
- done via npm help \fBinstall\fP
- .IP \(bu 2
- adduser:
- Create an account or log in\. When you do this, npm will store
- credentials in the user config file config file\.
- .IP \(bu 2
- publish:
- Use the npm help \fBpublish\fP command to upload your
- code to the registry\.
- .RE
- .SS Configuration
- .P
- npm is extremely configurable\. It reads its configuration options from
- 5 places\.
- .RS 0
- .IP \(bu 2
- Command line switches:
- Set a config with \fB\-\-key val\fP\|\. All keys take a value, even if they
- are booleans (the config parser doesn't know what the options are at
- the time of parsing)\. If you do not provide a value (\fB\-\-key\fP) then
- the option is set to boolean \fBtrue\fP\|\.
- .IP \(bu 2
- Environment Variables:
- Set any config by prefixing the name in an environment variable with
- \fBnpm_config_\fP\|\. For example, \fBexport npm_config_key=val\fP\|\.
- .IP \(bu 2
- User Configs:
- The file at \fB$HOME/\.npmrc\fP is an ini\-formatted list of configs\. If
- present, it is parsed\. If the \fBuserconfig\fP option is set in the cli
- or env, that file will be used instead\.
- .IP \(bu 2
- Global Configs:
- The file found at \fB\|\./etc/npmrc\fP (relative to the global prefix will be
- parsed if it is found\. See npm help \fBprefix\fP for
- more info on the global prefix\. If the \fBglobalconfig\fP option is set
- in the cli, env, or user config, then that file is parsed instead\.
- .IP \(bu 2
- Defaults:
- npm's default configuration options are defined in
- lib/utils/config\-defs\.js\. These must not be changed\.
- .RE
- .P
- See npm help \fBconfig\fP for much much more information\.
- .SS Contributions
- .P
- Patches welcome!
- .P
- If you would like to help, but don't know what to work on, read the
- contributing
- guidelines \fIhttps://github\.com/npm/cli/blob/latest/CONTRIBUTING\.md\fR and
- check the issues list\.
- .SS Bugs
- .P
- When you find issues, please report them:
- https://github\.com/npm/cli/issues
- .P
- Please be sure to follow the template and bug reporting guidelines\.
- .SS Feature Requests
- .P
- Discuss new feature ideas on our discussion forum:
- .RS 0
- .IP \(bu 2
- https://github\.com/npm/feedback
- .RE
- .P
- Or suggest formal RFC proposals:
- .RS 0
- .IP \(bu 2
- https://github\.com/npm/rfcs
- .RE
- .SS See Also
- .RS 0
- .IP \(bu 2
- npm help help
- .IP \(bu 2
- npm help package\.json
- .IP \(bu 2
- npm help npmrc
- .IP \(bu 2
- npm help config
- .IP \(bu 2
- npm help install
- .IP \(bu 2
- npm help prefix
- .IP \(bu 2
- npm help publish
- .RE
|