1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
|
.TH "NPM\-DIST\-TAG" "1" "January 2019" "" ""
.SH "NAME"
\fBnpm-dist-tag\fR \- Modify package distribution tags
.SH SYNOPSIS
.P
.RS 2
.nf
npm dist\-tag add <pkg>@<version> [<tag>]
npm dist\-tag rm <pkg> <tag>
npm dist\-tag ls [<pkg>]
aliases: dist\-tags
.fi
.RE
.SH DESCRIPTION
.P
Add, remove, and enumerate distribution tags on a package:
.RS 0
.IP \(bu 2
add:
Tags the specified version of the package with the specified tag, or the
\fB\-\-tag\fP config if not specified\. If you have two\-factor authentication on
auth\-and\-writes then you’ll need to include a one\-time password on the
command line with \fB\-\-otp <one\-time password>\fP\|\.
.IP \(bu 2
rm:
Clear a tag that is no longer in use from the package\.
.IP \(bu 2
ls:
Show all of the dist\-tags for a package, defaulting to the package in
the current prefix\.
This is the default action if none is specified\.
.RE
.P
A tag can be used when installing packages as a reference to a version instead
of using a specific version number:
.P
.RS 2
.nf
npm install <name>@<tag>
.fi
.RE
.P
When installing dependencies, a preferred tagged version may be specified:
.P
.RS 2
.nf
npm install \-\-tag <tag>
.fi
.RE
.P
This also applies to \fBnpm dedupe\fP\|\.
.P
Publishing a package sets the \fBlatest\fP tag to the published version unless the
\fB\-\-tag\fP option is used\. For example, \fBnpm publish \-\-tag=beta\fP\|\.
.P
By default, \fBnpm install <pkg>\fP (without any \fB@<version>\fP or \fB@<tag>\fP
specifier) installs the \fBlatest\fP tag\.
.SH PURPOSE
.P
Tags can be used to provide an alias instead of version numbers\.
.P
For example, a project might choose to have multiple streams of development
and use a different tag for each stream,
e\.g\., \fBstable\fP, \fBbeta\fP, \fBdev\fP, \fBcanary\fP\|\.
.P
By default, the \fBlatest\fP tag is used by npm to identify the current version of
a package, and \fBnpm install <pkg>\fP (without any \fB@<version>\fP or \fB@<tag>\fP
specifier) installs the \fBlatest\fP tag\. Typically, projects only use the \fBlatest\fP
tag for stable release versions, and use other tags for unstable versions such
as prereleases\.
.P
The \fBnext\fP tag is used by some projects to identify the upcoming version\.
.P
By default, other than \fBlatest\fP, no tag has any special significance to npm
itself\.
.SH CAVEATS
.P
This command used to be known as \fBnpm tag\fP, which only created new tags, and so
had a different syntax\.
.P
Tags must share a namespace with version numbers, because they are specified in
the same slot: \fBnpm install <pkg>@<version>\fP vs \fBnpm install <pkg>@<tag>\fP\|\.
.P
Tags that can be interpreted as valid semver ranges will be rejected\. For
example, \fBv1\.4\fP cannot be used as a tag, because it is interpreted by semver as
\fB>=1\.4\.0 <1\.5\.0\fP\|\. See https://github\.com/npm/npm/issues/6082\|\.
.P
The simplest way to avoid semver problems with tags is to use tags that do not
begin with a number or the letter \fBv\fP\|\.
.SH SEE ALSO
.RS 0
.IP \(bu 2
npm help publish
.IP \(bu 2
npm help install
.IP \(bu 2
npm help dedupe
.IP \(bu 2
npm help 7 registry
.IP \(bu 2
npm help config
.IP \(bu 2
npm help 7 config
.IP \(bu 2
npm help 5 npmrc
.RE
|