186 lines
5.6 KiB
Groff
186 lines
5.6 KiB
Groff
.TH "NPM" "1" "November 2019" "" ""
|
|
.SH "NAME"
|
|
\fBnpm\fR \- javascript package manager
|
|
.SS Synopsis
|
|
.P
|
|
.RS 2
|
|
.nf
|
|
npm <command> [args]
|
|
.fi
|
|
.RE
|
|
.SS Version
|
|
.P
|
|
6\.13\.1
|
|
.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 wide variety of use cases\.
|
|
Most commonly, it is used to publish, discover, install, and develop node
|
|
programs\.
|
|
.P
|
|
Run \fBnpm help\fP to get a list of available commands\.
|
|
.SS Important
|
|
.P
|
|
npm is configured to use npm, Inc\.'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://www\.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 may be governed by their
|
|
terms of use\.
|
|
.SS Introduction
|
|
.P
|
|
You probably got npm because you want to install stuff\.
|
|
.P
|
|
Use \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\.
|
|
Use \fBnpm ls\fP to show everything you've installed\.
|
|
.SS Dependencies
|
|
.P
|
|
If a package references to another package with a git URL, npm depends
|
|
on a preinstalled git\.
|
|
.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/TooTallNate/node\-gyp\fR for that task\.
|
|
For a Unix system, node\-gyp \fIhttps://github\.com/TooTallNate/node\-gyp\fR
|
|
needs Python, make and a buildchain like GCC\. On Windows,
|
|
Python and Microsoft Visual Studio C++ are needed\. Python 3 is
|
|
not supported by node\-gyp \fIhttps://github\.com/TooTallNate/node\-gyp\fR\|\.
|
|
For more information visit
|
|
the node\-gyp repository \fIhttps://github\.com/TooTallNate/node\-gyp\fR and
|
|
the node\-gyp Wiki \fIhttps://github\.com/TooTallNate/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
|
|
global mode:
|
|
npm installs packages into the install prefix at
|
|
\fBprefix/lib/node_modules\fP and bins are installed in \fBprefix/bin\fP\|\.
|
|
.IP \(bu 2
|
|
local mode:
|
|
npm installs packages into the current project directory, which
|
|
defaults to the current working directory\. Packages are installed to
|
|
\fB\|\./node_modules\fP, and bins are installed to \fB\|\./node_modules/\.bin\fP\|\.
|
|
|
|
.RE
|
|
.P
|
|
Local mode is the default\. Use \fB\-g\fP or \fB\-\-global\fP on any command to
|
|
operate 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:
|
|
For linking your current working code into Node's path, so that you
|
|
don't have to reinstall every time you make a change\. Use
|
|
\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
|
|
\fBnpm install\fP
|
|
.IP \(bu 2
|
|
adduser:
|
|
Create an account or log in\. Credentials are stored in the
|
|
user config file\.
|
|
.IP \(bu 2
|
|
publish:
|
|
Use the \fBnpm publish\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 no value is provided, 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 $HOME/\.npmrc is an ini\-formatted list of configs\. If
|
|
present, it is parsed\. If the \fBuserconfig\fP option is set in the cli
|
|
or env, then that will be used instead\.
|
|
.IP \(bu 2
|
|
Global Configs:
|
|
The file found at \.\./etc/npmrc (from the node executable, by default
|
|
this resolves to /usr/local/etc/npmrc) will be parsed if it is found\.
|
|
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 contribute, but don't know what to work on, read
|
|
the contributing guidelines and check the issues list\.
|
|
.RS 0
|
|
.IP \(bu 2
|
|
CONTRIBUTING\.md \fIhttps://github\.com/npm/cli/blob/latest/CONTRIBUTING\.md\fR
|
|
.IP \(bu 2
|
|
Bug tracker \fIhttps://github\.com/npm/cli/issues\fR
|
|
|
|
.RE
|
|
.SS Bugs
|
|
.P
|
|
When you find issues, please report them:
|
|
.RS 0
|
|
.IP \(bu 2
|
|
web:
|
|
https://npm\.community/c/bugs
|
|
|
|
.RE
|
|
.P
|
|
Be sure to follow the template and bug reporting guidelines\. You can also ask
|
|
for help in the support forum \fIhttps://npm\.community/c/support\fR if you're
|
|
unsure if it's actually a bug or are having trouble coming up with a detailed
|
|
reproduction to report\.
|
|
.SS Author
|
|
.P
|
|
Isaac Z\. Schlueter \fIhttp://blog\.izs\.me/\fR ::
|
|
isaacs \fIhttps://github\.com/isaacs/\fR ::
|
|
@izs \fIhttps://twitter\.com/izs\fR ::
|
|
i@izs\.me
|
|
.SS See Also
|
|
.RS 0
|
|
.IP \(bu 2
|
|
npm help help
|
|
.IP \(bu 2
|
|
npm help package\.json
|
|
.IP \(bu 2
|
|
npm help install
|
|
.IP \(bu 2
|
|
npm help config
|
|
.IP \(bu 2
|
|
npm help npmrc
|
|
|
|
.RE
|