定义
npm 是世界最大的软件注册中心。全世界的开源开发者使用npm来共享、借用软件包,许多组织也使用npm 管理私有开发。
npm 由三部分组成:
- 网站
使用npm官网发现软件包,设置配置文件,管理npm其他的体验。例如,创建组织来管理公共或私人软件包的访问。 - 命令行界面(CLI)
CLI运行在终端,大多数开发者都使用npm交互的方式。 - 注册表
注册表是一个大型的JavaScript软件的公共数据库。
使用npm
- 使软件包更合适你的应用程序或者合并软件包。
- 下载即可使用的独立工具
- 不下载的情况下使用npx运行软件包
- 和npm用户随时对地共享代码。
- 将代码限制给为特定人员。
- 创建组织来协调软件包维护、编码和开发人员。
- 通过组织形成虚拟团队。
- 管理多个版本的代码和代码依赖项。
- 当底层代码更新时,可以轻松地更新应用程序。
- 探索解决同一难题的多种方法。
- 寻找正在处理类似问题和项目的其他开发人员。
CLI Commands
- npm
npm <command> [args]
运行 npm help
可以等到可用命令列表
如果一个包使用git URL列出了一个依赖项,npm将使用git命令安装该依赖项,如果没有安装,npm将生成一个错误。
- npm-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-adduser
添加注册表用户帐户
npm adduser [--registry=url] [--scope=@orgname] [--auth-type=legacy]
aliases: login, add-user
创建或验证<username>在指定注册表中命名的用户,并将凭据保存到该.npmrc文件。如果未指定注册表,则将使用默认注册表(请参阅参考资料npm-config)。
- npm-audit
扫描项目中的漏洞并自动将任何兼容的更新安装到易受攻击的依赖项:
npm audit fix
扫描项目中的漏洞并显示详细信息,而无需修复任何内容:
npm audit
- npm-bin
打印npm将安装可执行文件的文件夹 - npm-bugs
在web浏览器中报告程序包的错误
npm bugs [<pkgname>]
- npm-cache
用于添加,列出或清除 npm 缓存文件夹。
add:将指定的包添加到本地缓存。此命令主要由 npm 在内部使用,但它可以提供一种方法将数据显式添加到本地安装缓存。
clean:删除缓存文件夹中的所有数据。
验证:验证缓存文件夹的内容,垃圾收集任何不需要的数据,以及验证缓存索引和所有缓存数据的完整性。
npm cache add <tarball file>...
npm cache add <folder>...
npm cache add <tarball url>...
npm cache add <name>@<version>...
npm cache clean
aliases: npm cache clear, npm cache rm
npm cache verify
- NPM-CI
npm ci与npm i主要有以下的区别:
npm i依赖package.json,而npm ci依赖package-lock.json。
当package-lock.json中的依赖于package.json不一致时,npm ci退出但不会修改package-lock.json。
npm ci只可以一次性的安装整个项目依赖,但无法添加单个依赖项。
npm ci安装包之前,会删除掉node_modules文件夹,因此他不需要去校验已下载文件版本与控制版本的关系,也不用校验是否存在最新版本的库,所以下载的速度更快。
npm安装时,不会修改package.json与package-lock.json。
网友评论