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立即设置包的访问权限。
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。
推荐阅读
- npm项目配置中文参考文档
- node命令行大全详解
- 在package.json文件scripts自定义脚本命令,简化webpack打包命令
- Node.js非阻塞IO模型、异步调用、事件驱动、回调函数和EventEmitter
- node.js开发web服务器,读取html文件并显示html页面
- npm安装第三方包警告(已解决)(npm WARN saveError ENOENT no such file or directory package.json)
- node.js开发入门基础,线程模型和事件循环、阻塞处理和非阻塞处理
- 别用再找了!最好用的Markdown文档编辑器都在这里了
- 如何正确使用Markdown(Markdown基本语法和完整使用教程)