npm了解
-
npp是什么
-
NPM是随同NodeJS一起安装的包管理工具,能解决NodeJS代码部署上的很多问题。
-
网站:
开发者查找包(package)、设置参数以及管理 npm 使用体验的主要途径
-
注册表(registry)
一个巨大的数据库,保存了每个包(package)的信息
-
命令行工具 (CLI)
通过命令行或终端运行。开发者通过 CLI 与 npm 打交道
-
看过了之后自己感觉npm就是像github一样的东西,不过npm里面是关于JavaScript,然后上面有很多的模板可以用目前就理解到这个程度。
-
简单使用
-
允许用户从NPM服务器下载别人编写的第三方包到本地使用。
-
允许用户从NPM服务器下载并安装别人编写的命令行程序到本地使用。
-
允许用户将自己编写的包或命令行程序上传到NPM服务器供别人使用
-
-
-
命令行
-
npm assess
-
public/resricted:将程序包设置为可公开访问或受限制
-
grant / revoke:添加或删除用户和团队对包具有只读或读写访问权限的能力
-
2fa-required / 2fa-not-required:配置包是否要求发布它的任何人在其帐户上启用双因素身份验证
-
s-packages:显示用户或团队能够访问的所有包以及访问级别,但只读公共包除外(它不会打印整个注册表列表)
-
ls-collaborators:显示包的所有访问权限。仅显示您至少具有读取权限的包的权限
-
edit:使用一次设置包的访问权限
-
-
npm adduser
- 创建或验证
<username>
在指定注册表中命名的用户,并将凭据保存到该.npmrc
文件
- 创建或验证
-
npm audit fix
-
npm audit fix:扫描项目中的漏洞并自动为易受攻击的依赖项安装任何兼容的更新:
-
npm audit fix --package-lock-only:运行时
audit fix
无需修改node_modules
,但仍然更新pkglock -
npm audit fix --only=prod:跳过更新
devDependencies
-
npm audit fix --force
-
npm audit fix --dry-run --json
-
npm audit
-
npm audit --json
-
npm audit --parseable
-
npm audit --parseable | awk -F’ $’\t’ ‘{print $’‘1,$4}’
-
-
npm bin [-g|–global]
- 列出 npm 安装可执行文件的文件夹
-
npm bugs []
- 尝试猜测包的错误跟踪器URL的可能位置,然后尝试使用
--browser
config参数打开它。如果未提供程序包名称,它将package.json
在当前文件夹中搜索a 并使用该name
属性
- 尝试猜测包的错误跟踪器URL的可能位置,然后尝试使用
-
npm build []
<package-folder>
: 在其根目录中包含一个package.json
文件的文件夹
-
npm cache
-
add:将指定的包添加到本地缓存。此命令主要供npm在内部使用,但它可以提供一种方法将数据显式添加到本地安装缓存
-
clean:删除缓存文件夹中的所有数据
-
cache:验证缓存文件夹的内容,垃圾收集任何不需要的数据,以及验证缓存索引和所有缓存数据的完整性
-
-
npm ci
- 类似于npm-install除了它意味着在自动化环境中使用,例如测试平台,持续集成和部署 - 或者您希望确保正在干净地安装依赖项的任何情况
-
npm completion
npm completion
作用于“管道模式”,并输出基于该参数完井
-
npm config
-
npm config set key value:将配置键设置为值
-
npm config get key:将配置值回显到stdout
-
npm config list:显示所有配置设置。用于
-l
显示默认值。用于--json
以json格式显示设置. -
npm config delete key:从所有配置文件中删除密钥
-
-
npm dedupe
-
npm ddp
- 搜索本地包树并尝试通过将依赖关系进一步向上移动到树中来尝试简化整体结构,从而可以更有效地共享多个依赖包
-
npm deprecate [@]
- 此命令将更新 npm 注册表中指定包所对应的数据条目, 为尝试安装它的所有人提示版本作废的警告信息
-
npm dist-tag
-
add:使用指定的标记标记包的指定版本,
--tag
如果未指定,则标记 配置。如果您在auth-and-writes上有双因素身份验证,那么您需要在命令行中包含一次性密码--otp <one-time password>
-
rm:清除包中不再使用的标记
-
ls:显示包的所有dist-tag,默认为当前前缀中的包。如果未指定,则这是默认操作
-
-
npm docs
-
npm home
- 尝试猜测包的文档URL的可能位置,然后尝试使用
--browser
config参数打开它
- 尝试猜测包的文档URL的可能位置,然后尝试使用
-
npm doctor
npm doctor
运行一组检查以确保您的npm安装具有管理JavaScript包所需的功能
-
npm edit
- 选择当前工作目录中的(子)依赖项,并在默认编辑器中打开包文件夹
-
npm explore [ – ]
-
在指定的已安装软件包的目录中生成子shell。
如果指定了一个命令,那么它将在子shell中运行,然后立即终止
-
-
npm help [<terms…>]
-
如果提供了主题,则显示相应的文档页面。
如果主题不存在,或者提供了多个术语,则运行
help-search
命令以查找匹配项
-
-
npm help-search
- 在npm markdown文档文件中搜索所提供的术语,然后列出按相关性排序的结果
-
npm hook
-
add:添加一个钩子
-
ls:列出所有活动挂钩
-
npm hook rm:删除一个钩子
-
npm hook update:更新现有的hook的url
-
-
npm init
- 可用于设置新的或现有的npm包
-
npm install
- 将安装程序包及其依赖的任何程序
-
npm install-ci-test
- 此命令运行一个
npm ci
后跟一个npm test
- 此命令运行一个
-
npm install-test
- 此命令首先运行
npm install
命令,紧接着运行npm test
命令
- 此命令首先运行
-
npm link (in package dir)
-
npm link [<@scope>/][@]
- 首先创建一个全局链接,然后将全局安装目标链接到项目的
node_modules
文件夹中
- 首先创建一个全局链接,然后将全局安装目标链接到项目的
-
npm logout
- 登录到支持基于令牌的身份验证的注册表时,请告知服务器结束此令牌的会话
-
npm ls [[<@scope>/] …]
- 此命令将在树结构中打印到stdout所安装的软件包的所有版本及其依赖项
-
npm [args]
-
npm是Node JavaScript平台的包管理器。它将模块放在适当的位置,以便节点可以找到它们,并智能地管理依赖冲突
-
运行
npm help
以获取可用命令的列表
-
-
npm org
-
npm outdated
- 检查注册表以查看是否有任何(或特定)已安装的软件包当前已过时
-
npm owner
-
ls:列出有权修改包并推送新版本的所有用户。当您需要知道谁可以获取帮助时,很方便
-
add:添加一个新用户作为包的维护者。此用户可以修改元数据,发布新版本以及添加其他所有者
-
rm:从包所有者列表中删除用户。这会立即撤销他们的特权
-
-
npm pack
-
对于任何可安装的东西(即包文件夹,tarball,tarball url,name @ tag,name @ version,name或scoped name),此命令将把它提取到缓存,然后将tarball复制到当前工作目录为
<name>-<version>.tgz
,然后将文件名写入stdout。如果多次指定相同的包,则第二次将覆盖该文件。
如果没有提供参数,则npm打包当前包文件夹
-
-
npm ping
-
Ping 已配置的或给定的 npm 注册表地址并进行身份验证。 如果 ping 执行成功,则会输出类似下面的内容:
Ping success: {*Details about registry*}
否则将输出:
Ping error: {*Detail about error}
-
-
npm prefix
- 打印本地目录前缀。如果没有
-g
参数,它是包含package.json
文件或node_modules
目录的最近的父目录
- 打印本地目录前缀。如果没有
-
npm profile
-
npm profile get [<property>]
:显示配置文件的所有属性,或一个或多个特定属性 -
npm profile set <property> <value>
:设置配置文件属性的值 -
npm profile set password
: 更改您的密码。这是交互式的,系统会提示您输入当前密码和新密码 -
npm profile enable-2fa [auth-and-writes|auth-only]
:启用双因素身份验证 -
auth-only
:登录或更改帐户身份验证时需要OTP -
auth-and-writes
:在任何时候auth-only
都需要OTP ,并且在发布模块,设置latest
dist-tag或通过npm access
和更改访问权限时也需要一个OTPnpm owner
-
npm profile disable-2fa
:禁用双因素身份验证
-
-
npm prune [[<@scope>/]…] [–production] [–dry-run] [–json]
- 此命令移除“无关”的包
-
npm publish
- 将包发布到注册表,以便可以按名称安装它。如果不存在本地
.gitignore
或.npmignore
文件,则包括程序包目录中的所有文件。如果两个文件都存在且文件被忽略.gitignore
,.npmignore
那么它将被包括在内
- 将包发布到注册表,以便可以按名称安装它。如果不存在本地
-
npm rebuild [[<@scope>/]…]
- 使用新的二进制文件重新编译所有 C++ 插件
-
npm repo
- 此命令尝试猜测指定包的源码仓库的 URL ,然后再使用
--browser
配置参数打开它
- 此命令尝试猜测指定包的源码仓库的 URL ,然后再使用
-
npm restart [-- ]
-
重新启动程序包
-
- prerestart
- 路口
- 停
- 邮件停止
- 重新开始
- 起动前
- 开始
- 邮件开始
- postrestart
-
-
npm root [-g]
- 在标准输出上将有效的
node_modules
文件夹打印出来
- 在标准输出上将有效的
-
npm run-script
- 这会从包的
"scripts"
对象运行任意命令。如果未"command"
提供,则会列出可用的脚本
- 这会从包的
-
npm search
- 在注册表中搜索与搜索词匹配的包
-
npm shrinkwrap
- 此命令将根据
package-lock.json
文件创建一个新的或覆盖已有的npm-shrinkwrap.json
文件
- 此命令将根据
-
npm star/unstar
-
为一个包加星标(“Starring”)意味着你对这个包感兴趣。 这是一种你表达关注的方式。
减星标(“Unstarring”)与加星标相反
-
-
npm stars []
-
如果你 strar 了很多不错的包,这个命令可以让你快速找到它们。
此命令也可以查看其他用户 star 过的包
-
-
npm start [-- ]
- 在 package.json 文件中定义的
"scripts"
对象中查找"start"
属性, 如果此属性定义了任何命令则执行之。 如果"scripts"
对象中没有定义"start"
属性, 默认执行node server.js
命令。
- 在 package.json 文件中定义的
-
npm stop [-- ]
- 如果 package.json 文件中定义了 “stop” 脚本, 则执行
-
npm team
-
create / destroy:创建一个新团队,或销毁现有团队
-
add / rm:将用户添加到现有团队,或从他们所属的团队中删除用户
-
ls:如果对组织名称执行,将返回该组织下现有团队的列表。如果在团队中执行,它将返回属于该特定团队的所有用户的列表
-
edit:编辑当前团队
-
-
npm test [-- ]
- 如果 package.json 文件中定义了 “test” 脚本,则执行
-
npm token
-
npm token list
:显示所有活动身份验证令牌的表 -
npm token create [--read-only] [--cidr=<cidr-ranges>]
:创建新的身份验证令牌 -
npm token revoke <token|id>
:这将删除身份验证令牌,使其立即无法使用
-
-
npm uninstall
- 这将卸载一个软件包,完全删除代表它安装的所有内容
-
npm unpublish
- 这将从注册表中删除包版本,删除其条目并删除tarball
-
npm update [-g] […]
- 此命令将更新列出到最新版本(由
tag
配置指定)的所有软件包,尊重semver。它还将安装缺少的包
- 此命令将更新列出到最新版本(由
-
npm version [ | major | minor | patch | premajor | preminor | prepatch | prerelease [–preid=] | from-git]
- 包目录中碰到的版本,新的数据写回运行此
package.json
,package-lock.json
和,如果存在的话,npm-shrinkwrap.json
- 包目录中碰到的版本,新的数据写回运行此
-
npm view [<@scope>/][@] [[.]…]
- 此命令显示有关包的数据,并将其打印到
outfd
config 引用的流,默认为stdout
- 此命令显示有关包的数据,并将其打印到
-
npm whoami [–registry ]
- 在标准输出上打印出
username
配置信息
- 在标准输出上打印出
-
-
全局安装与本地安装
-
本地安装
-
- 将安装包放在 ./node_modules 下(运行 npm 命令时所在的目录),如果没有 node_modules 目录,会在当前执行 npm 命令的目录下生成 node_modules 目录。
-
- 可以通过 require() 来引入本地安装的包。
-
-
全局安装
-
- 将安装包放在 /usr/local 下或者你 node 的安装目录。
-
- 可以直接在命令行里使用。
-
-