# npm 常用命令总结(二)
之前在下载包的时候接触了几个 npm 命令,索性将常见的命令总结一下。
npm adduser
添加用户npm access
设置包的权限npm bugs
打开包的 bugs 报告页面npm bin [—-global]
查看 npm 可执行文件的目录npm config get registry
获取 npm 仓库地址npm config list [—-json]
获取 npm 配置信息npm config edit
编辑 npm 的配置信息npm config delete
删除某个配置 npm c 是 npm config 别名npm cache add
通过 git 地址添加某个 tar 包到缓存npm cache clean —force
清除缓存文件 npm@5 后必须使用强制符npm cache verify
清理无用的缓存文件和校验缓存数据完整性npm completion >> ~/.zsh
npm 开启自动补全命令,设置后,按住 tab 键能自动提示 npm 命令npm deprecate [@]
添加对某个包的某个版本的反对信息。只有 owner 才可以,安装此包能看到这些反对信息npm dist-tag add @ []
为某个版本添加 tag,如果添加的 tag 为 latest,这个 tag 版本将成为最新版本。用户下载最新的时候会直接下载到该版本npm dist-tag rm
移除 tagnpm dist-tag ls []
查看 tag 清单npm doctor
npm 诊断命令,npm 会对 npm 运行的环境进行检测诊断,包括 npm 的版本,git 版本,npm 使用的文件权限,npm ping 等等npm docs
打开包的文档地址npm dedupe
通过一些算法 将多个依赖包中重复依赖的包移除,只保留一个 该命令别名为:npm ddpnpm explore [ – ]
进入指定的包里执行一些命令,比如执行更新源代码,执行重新编译等npm edit
修改包内容npm get key val
获取某个配置npm init
初始化当前目录为一个包,会生成一个 package.json 的文件npm install
不带任何参数,会按照根目录下的 package.json 里的依赖包 将安装包放在 ./node_modules 下(运行 npm 命令时所在的目录),如果没有 node_modules 目录,会在当前执行 npm 命令的目录下自动生成该目录 会把该包安装到 node_modules 目录中,不会修改 package.json,之后运行 npm install 命令时,不会自动安装该包npm install [<@scope>/]
局部安装某个包,默认安装最新版本npm install [<@scope>/]@
局部安装指定版本的某个包(按照 tag) 该命令的别名是:npm inpm install [<@scope>/] --save
简写为:npm install [<@scope>/] -S 会在 package.json 的 dependencies 属性下添加该包的名称及版本号,之后运行 npm install 命令时,会自动安装模块依赖到 node_modules 目录中 运行 npm install --production 或者注明 NODE_ENV 变量值为 production 时,会自动下载模块到 node_modules 目录中npm install [<@scope>/] --save-dev
简写为 npm install [<@scope>/] -D 与 npm install [<@scope>/] --save 的区别是: --save-dev 会将模块依赖写入 devDependencies 节点,而 --save 是将模块依赖写入 dependencies 节点 运行 npm install --production 或者注明 NODE_ENV 变量值为 production 时,npm install [<@scope>/] --save-dev 不会自动下载模块到 node_modules 目录中 package.json 文件里面的 devDependencies 和 dependencies 对象的区别是什么呢; –save-dev 对应的 devDependencies 里面的插件只用于开发环境,不用于生产环境,而 –save 对应的 dependencies 是需要发布到生产环境的 devDependencies 节点下的模块是开发时候需要的,如构建工具 glup、webpack,预处理器 less、sass 这些只在开发环境有用,所以使用 –save-dev 安装 dependencies 节点下的模块是线上代码运行需要的,如 axios、vue-router、vuex,所以需要使用 –-save 安装npm install-test
它和 npm install 的区别是执行完 npm install 后立马执行 npm testnpm install [<@scope>/] -g
全局安装某个包,默认安装最新版本 npm install [<@scope>/] --savenpm help
查看某个命令的帮助信息npm help-search
在帮助文档中查找包含关键词的文档列表npm link [<@scope>/][@]
将 npm 包创建快捷方式到全局 npm 的路径下npm login
登陆用户npm logout
退出当前登陆的 npm 账号npm ls、npm list、npm la、npm ll
查看当前 npm 包的依赖包列表 npm ls 是 npm list 的简写npm outdated
查看当前安装的包里版本是否过期的信息npm owner add [<@scope>/]
添加某个用户作为某个包的管理者npm owner rm [<@scope>/]
移除某个用户作为某个包的管理者npm owner ls [<@scope>/]
查看某个包的管理者npm ping
验证 registry 的连通性和身份验证npm pack
将当前 npm 包文件打成一个压缩包npm prune
移除没有定义在 package.json 依赖配置上的包npm publish [|] [–tag ] [–access <public|restricted>]
发布一个包 用户个人信息管理npm profile get [–json|–parseable] []
获取个人信息npm profile set [–json|–parseable]
设置个人信息npm profile set password
设置密码npm profile enable-2fa [auth-and-writes|auth-only]
设置开启双重验证npm profile disable-2fa
关闭开启双重验证npm prefix [-g]
查看最靠近 package.json 的父级目录npm root [-g]
查看本地或者全局 node-module 目录的位置npm repo []
打开包的源文件管理地址 比如 github 地址npm restart
运行当前目录下的 package.json 里的 scripts 里的 restart 命令,如果没有,则执行 npm stop 再执行 npm startnpm run-script [-- …]
运行当前目录下的 package.json 里的 scripts 里的命令 该命令的别名是:npm runnpm rebuild [[<@scope>/]…]
执行编译某个包 该命令的别名是:npm rbnpm search [–long] [search terms …]
从远程仓库中搜索某个包的信息npm set key val
设置某个配置npm stop
运行当前目录下的 package.json 里的 scripts 里的 top 命令,如果有的话npm start
运行当前目录下的 package.json 里的 scripts 里的 start 命令,如果有的话npm star […]
将某个包加入当前用户的感兴趣的清单npm stars []
列出该用户所有感兴趣的包npm shrinkwrap
生成当前项目确定的依赖版本,类似 package-lock.json,但是还是有略微区别npm test [-- ]
运行当前目录下的 package.json 里的 scripts 里的 test 命令,如果有的话npm team
管理所属团队或者添加团队成员等npm token
身份令牌管理npm uninstall
卸载某个包 该命令的别名是:npm unnpm update [-g] […]
更新包 该命令的别名是:npm up [-g][…]npm unpublish [<@scope>/
][@] 取消发布包,将发布的包从远程仓库中删除npm unstar […]
将某个包移除当前用户清单npm version
查看各个依赖的版本npm whoami
npm 当前登陆用户npm -l
查看所有命令的用例信息npm -h
查看某个命令的用法