package-spec(7) package-spec(7)
NAME
package-spec - Package name specifier Description Commands like npm install and the dependency sections in the package.json use a package name specifier. This can be many different things that all refer to a "package". Examples include a package name, git url, tarball, or local directory. These will generally be referred to as <package-spec> in the help output for the npm commands that use this package name specifier. Package name o [<@scope>/]<pkg> o [<@scope>/]<pkg>@<tag> o [<@scope>/]<pkg>@<version> o [<@scope>/]<pkg>@<version range> Refers to a package by name, with or without a scope, and optionally tag, version, or version range. This is typically used in combination with the registry </using-npm/config#registry> config to refer to a package in a registry. Examples: o npm o @npmcli/arborist o @npmcli/arborist@latest o npm@6.13.1 o npm@^4.0.0 Aliases o <alias>@npm:<name> Primarily used by commands like npm install and in the dependency sections in the package.json, this refers to a package by an alias. The <alias> is the name of the package as it is reified in the node_modules folder, and the <name> refers to a package name as found in the configured registry. See Package name above for more info on referring to a package by name, and registry </using-npm/config#registry> for configuring which registry is used when referring to a package by name. Examples: o semver:@npm:@npmcli/semver-with-patch o semver:@npm:semver@7.2.2 o semver:@npm:semver@legacy Folders o <folder> This refers to a package on the local filesystem. Specifically this is a folder with a package.json file in it. This should always be prefixed with a / or ./ (or your OS equivalent) to reduce confusion. npm currently will parse a string with more than one / in it as a folder, but this is legacy behavior that may be removed in a future version. Examples: o ./my-package o /opt/npm/my-package Tarballs o <tarball file> o <tarball url> Examples: o ./my-package.tgz o https://registry.npmjs.org/semver/-/semver-1.0.0.tgz Refers to a package in a tarball format, either on the local filesystem or remotely via url. This is the format that packages exist in when uploaded to a registry. git urls o <git:// url> o <github username>/<github project> Refers to a package in a git repo. This can be a full git url, git shorthand, or a username/package on GitHub. You can specify a git tag, branch, or other git ref by appending #ref. Examples: o https://github.com/npm/cli.git o git@github.com:npm/cli.git o git+ssh://git@github.com/npm/cli#v6.0.0 o github:npm/cli#HEAD o npm/cli#c12ea07 See also o npm-package-arg <https://npm.im/npm-package-arg> o npm help scope o npm help config June 2023 package-spec(7)
npm 9.7.1 - Generated Sat Jun 10 18:14:52 CDT 2023