npm命令行中文参考文档详解

1、access设置已发布包的访问级别:

npm access public [< package>] npm access restricted [< package>]npm access grant < read-only|read-write> < scope:team> [< package>] npm access revoke < scope:team> [< package>]npm access 2fa-required [< package>] npm access 2fa-not-required [< package>]npm access ls-packages [< user>|< scope>|< scope:team>] npm access ls-collaborators [< package> [< user>]] npm access edit [< package>]

用于设置对私有包的访问控制,对于所有子命令,如果没有将包名传递给子命令,npm access将对当前工作目录中的包执行操作。
  • public / restricted: 设置包可公开访问或受限制。
  • grant/revoke: 添加或删除用户和团队对包具有只读或读写访问权限的能力。
  • 2fa-required / 2fa-not-required: 配置包是否要求发布包的任何人在其帐户上启用双因素身份验证。
  • ls-packages: 显示用户或团队能够访问的所有包,以及访问级别,只读公共包除外(它不会打印整个注册表清单)。
  • ls-collaborators: 显示包的所有访问权限。将只显示至少具有读访问权限的包的权限。如果传入< user> ,则列表只过滤给用户碰巧所属的团队。
  • edit: 使用$EDITOR立即设置包的访问权限。
2、adduser添加注册表用户帐户:
npm adduser [--registry=url] [--scope=@orgname] [--always-auth] [--auth-type=legacy]aliases: login, add-user

在指定的注册表中创建或验证名为< username> 的用户,并将凭据保存到.npmrc文件中。如果没有指定注册表,则使用默认注册表(请参阅npm-config)。
从提示中读取用户名、密码和电子邮件。
要重置密码,请访问https://www.npmjs.com/forget
要更改您的电子邮件地址,请访问https://www.npmjs.com/email-edit
您可以对同一用户帐户多次使用此命令在新机器上进行授权。在新机器上进行身份验证时,用户名、密码和电子邮件地址都必须与现有记录匹配。
npm登录是adduser的别名,其行为完全相同。
3、audit
npm audit [--json|--parseable|--audit-level=(low|moderate|high|critical)] npm audit fix [--force|--package-lock-only|--dry-run]common options: [--production] [--only=(dev|prod)]

audit命令将项目中配置的依赖项的描述提交到默认注册表,并要求提供已知漏洞的报告。返回的报告包括关于如何根据这些信息采取行动的说明。如果没有发现漏洞,该命令将以0退出代码退出。
【npm命令行中文参考文档详解】您还可以通过运行npm审计修复来让npm自动修复漏洞。注意,有些漏洞不能自动修复,需要手动干预或检查。还要注意的是,由于npm audit fix在底层运行一个完整的npm安装,所以应用于安装程序的所有配置也将应用于npm安装——所以像npm audit fix这样的东西——包锁将按预期工作。
默认情况下,如果发现任何漏洞,audit命令将以非零代码退出。在CI环境中,包含——audit-level参数来指定导致命令失败的最小漏洞级别,这可能很有用。此选项不过滤报表输出,它只是更改命令的故障阈值。
4、bin显示npm的bin文件夹:
npm bin [-g|--global]

打印npm将安装可执行文件的文件夹。
5、bugsweb浏览器中的包可能存在bug:
npm bugs [< pkgname>]aliases: issues

此命令尝试猜测包的bug跟踪器URL的可能位置,然后尝试使用——browser配置参数打开它。如果没有提供包名,它将搜索包。在当前文件夹中使用json,并使用name属性。
6、build构建一个包:
npm build [< package-folder>]

< package-folder> :包含包的文件夹,json文件的根目录。
这是npm link和npm install调用的管道命令。通常应该在安装期间调用它,但如果需要直接运行它,则运行它:
npm run-script build

7、bundle在1.0中已经删除了npm bundle命令,原因很简单,不再需要它,因为默认行为是将包安装到本地空间中。现在只需使用npm install来做npm bundle以前做的事情。
8、cache操作包的缓存:
npm cache add < tarball file> npm cache add < folder> npm cache add < tarball url> npm cache add < name>@< version>npm cache clean [< path>] aliases: npm cache clear, npm cache rmnpm cache verify

用于添加、列出或清除npm缓存文件夹。
add: 将指定的包添加到本地缓存。此命令主要用于npm的内部使用,但它可以提供一种方法显式地将数据添加到本地安装缓存中。
clean: 删除缓存文件夹中的所有数据。
verify: 验证缓存文件夹的内容,垃圾收集任何不需要的数据,验证缓存索引和所有缓存数据的完整性。
9、ci重新安装一个项目:
npm ci

这个命令类似于npm  install,但它用于自动化环境,比如测试平台、持续集成和部署,或者任何您希望确保对依赖项进行干净安装的情况。通过跳过某些面向用户的特性,它可以比常规的npm安装快得多。它也比常规安装更严格,这可以帮助捕获大多数npm用户增量安装的本地环境导致的错误或不一致。
简而言之,使用npm install和npm ci的主要区别在于:
项目必须有一个现有的package-lock.json或npm-shrinkwrap.json。如果package-lock中的依赖项与package中的依赖项不匹配。npm ci将带着一个错误退出,而不是更新package-lock。
npm ci一次只能安装整个项目:不能使用此命令添加单个依赖项。如果node_modules已经存在,它将在npm ci开始安装之前自动删除。它永远不会写package.json或任何package-lock:安装基本上是冻结的。
10、completion
source < (npm completion)

在所有npm命令中启用tab-completion。
11、config
npm config set < key> < value> [-g|--global] npm config get < key> npm config delete < key> npm config list [-l] [--json] npm config edit npm get < key> npm set < key> < value> [-g|--global]aliases: c

管理npm配置文件,npm从命令行、环境变量、npmrc文件以及某些情况下的包中获取配置设置package.json文件。
12、dedupe
npm dedupe npm ddpaliases: find-dupes, ddp

搜索本地包树,并尝试通过将依赖项向上移动到树的更高层来简化整个结构,在树的更高层,多个依赖包可以更有效地共享依赖项。
13、deprecate弃用软件包的某个版本:
npm deprecate < pkg>[@< version>] < message>

这个命令将更新包的npm注册表条目,为所有试图安装它的人提供一个弃用警告。
14、dist-tag修改包分发标签:
npm dist-tag add < pkg>@< version> [< tag>] npm dist-tag rm < pkg> < tag> npm dist-tag ls [< pkg>]aliases: dist-tags

添加、删除和枚举包上的分发标签:
add:使用指定的标记标记包的指定版本,如果没有指定,则使用——标记配置。如果您对写和写进行了双因素身份验证,那么您需要在命令行中包含一个一次性密码,使用——otp < 一次性密码> 。
从包中清除一个不再使用的标签。
ls:显示包的所有发行标记,默认为当前前缀中的包。如果没有指定,这是默认操作。
15、docs可能是web浏览器中包的文档:
npm docs [< pkgname> [< pkgname> ...]] npm docs . npm home [< pkgname> [< pkgname> ...]] npm home .

此命令尝试猜测包的文档URL的可能位置,然后尝试使用——browser配置参数打开它。您可以同时传递多个包名。如果没有提供包名,它将搜索包。在当前文件夹中使用json,并使用name属性。
16、doctor
npm doctor

检查当前环境。
17、edit编辑一个已安装的包:
npm edit < pkg>[/< subpkg>...]

在当前工作目录中选择一个(子)依赖项,并在缺省编辑器中打开包文件夹(或您作为npm编辑器配置配置的任何内容,请参见npm-config)。编辑后,重新构建包,以便在编译后的包中获得任何更改。例如,可以执行npm install connect将connect安装到包中,然后npm edit connect对本地安装的副本进行一些更改。
18、explore浏览已安装的软件包:
npm explore < pkg> [ -- < command>]

在指定的已安装包的目录中生成一个子shell。如果指定了一个命令,那么它将在子shell中运行,然后立即终止。
19、help-search搜索npm帮助文档:
npm help-search < text>

这个命令将搜索npm markdown文档文件中提供的术语,然后列出结果,按相关性排序。如果只找到一个结果,那么它将显示帮助主题。如果npm help的参数不是一个已知的帮助主题,那么它将调用help-search。很少有必要直接调用这个命令。
20、hook管理注册表钩子:
npm hook ls [pkg] npm hook add < entity> < url> < secret> npm hook update < id> < url> npm hook rm < id>< /id>

21、init创建一个package.json文件:
npm init [--force|-f|--yes|-y|--scope] npm init < @scope> (same as `npx < @scope>/create`) npm init [< @scope>/]< name> (same as `npx [< @scope>/]create-< name>`)

22、install-ci-test该命令运行一个npm ci,紧接着运行一个npm测试。
23、install安装一个包。
24、link符号链接包文件夹:
npm link (in package dir) npm link [< @scope>/]< pkg>[@< version>]alias: npm ln

25、logout退出注册表:
npm logout [--registry=< url>] [--scope=< @scope>]

当登录到支持基于令牌的身份验证的注册表时,告诉服务器结束此令牌会话。这将使令牌在任何地方失效,而不仅仅是在当前环境中。当登录到使用用户名和密码身份验证的遗留注册中心时,这将清除用户配置中的凭据。在这种情况下,它只会影响当前环境。如果——scope被提供,这将找到连接到该范围(如果设置)的注册中心的凭据。
26、ls列出所有已安装的包。
27、outdated检查过期的包。
28、publish发布一个包:
npm publish [< tarball>|< folder>] [--tag < tag>] [--access < public|restricted>] [--otp otpcode] [--dry-run]Publishes '.' if no argument supplied Sets tag 'latest' if no --tag specified

29、uninstall删除一个包:
npm uninstall [< @scope>/]< pkg>[@< version>]... [-S|--save|-D|--save-dev|-O|--save-optional|--no-save]aliases: remove, rm, r, un, unlink

30、shrinkwrap锁定发布的依赖项版本:
npm shrinkwrap

此命令重新使用package-lock.json转换成可发布的npm-shrinkwrap.json或简单地创建一个新的。该命令创建和更新的文件将优先于任何其他现有或未来的package-lock.json文件。有关npm中包锁的设计和用途的详细说明,请参见npm-package-locks。

    推荐阅读