npm 备忘清单
这个 npm 快速参考备忘单显示了它的常用命令使用清单。
常用命令
包管理
| 命令 | 描述 |
|---|---|
npm i |
npm install的别名 |
npm install |
安装 package.json 中的所有内容 |
npm install --production |
安装 package.json 中的所有内容,除了 devDependecies |
npm install lodash |
安装一个包 |
npm install --save-dev lodash |
安装为 devDependency |
npm install --save-exact lodash |
准确安装 |
npm install @scope/package-name |
安装一个作用域的公共包 |
npm install <package_name>@<tag> |
使用 dist-tags 安装包 |
npm install -g <package_name> |
全局安装包 |
npm uninstall <package_name> |
卸载包 |
--save 是 npm@5 的默认值。 以前,使用不带 --save 的 npm install 不会更新 package.json。
安装名称
| 命令 | 描述 |
|---|---|
npm i sax |
NPM 包 |
npm i sax@latest |
指定标签“最新” |
npm i sax@3.0.0 |
指定版本 3.0.0 |
npm i sax@">=1 <2.0" |
指定版本范围 |
npm i @org/sax |
范围内的 NPM 包 |
npm i user/repo |
GitHub |
npm i user/repo#master |
GitHub |
npm i github:user/repo |
GitHub |
npm i gitlab:user/repo |
GitLab |
npm i /path/to/repo |
绝对路径 |
npm i ./archive.tgz |
压缩包 |
npm i https://site.com/archive.tgz |
通过 HTTP 压缩包 |
清单
| 命令 | 描述 |
|---|---|
npm list |
列出此软件中所有依赖项的已安装版本 |
npm list -g --depth 0 |
列出所有全局安装包的安装版本 |
npm view |
列出此软件中所有依赖项的最新版本 |
npm outdated |
仅列出此软件中已过时的依赖项 |
更新
| 命令 | 描述 |
|---|---|
npm version <version> |
要更改 package.json 中的版本号 |
npm update |
更新生产包 |
npm update --dev |
更新开发包 |
npm update -g |
更新全局包 |
npm update lodash |
更新 lodash 包 |
杂项功能
将某人添加为所有者
npm owner add USERNAME PACKAGENAME
列出包
npm ls
向安装旧版本软件包的用户添加警告(弃用)
npm deprecate PACKAGE@"< 0.2.0" "critical bug fixed in v0.2.0"
更新所有包或选定的包
npm update [-g] PACKAGE
检查过时的包
npm outdated [PACKAGE]
更改包裹可见性
将公共包设为私有
npm access restricted <package-name>
公开私有包
npm access public <package-name>
授予私有包访问权限
npm owner add <user> <your-package-name>
要将包转移到 npm 用户帐户
npm owner add <their-username> <package-name># 新维护者接受邀请npm owner rm <your-username> <package-name>
写入启用了双因素身份验证
npm owner add <their-username> <package-name> --otp=123456
取消发布包
npm unpublish <package-name> -f# 取消指定版本npm unpublish <package-name>@<version>
注意:如果您取消发布整个包,则必须在 24 小时后才能发布该包的任何新版本。
发布包 npmjs.org
npm publish# 第一次需要指定公开参数npm publish --access public
发布公开包,到 npmjs.org
配置
.npmrc
| :- | :- |
|---|---|
/path/to/project/.npmrc |
每个项目的配置文件 |
~/.npmrc |
每个用户的配置文件 |
$PREFIX/etc/npmrc |
全局配置文件 |
/path/to/npm/npmrc |
npm 内置配置文件 |
配置内容
# last modified: 01 Jan 2016; Set a new registry for a scoped package@myscope:registry=https://registry.npmmirror.com
注释使用 #, ; 放置到一行的开头。.npmrc 文件由指定此注释语法的 npm/ini 解析
.npmignore
将下面内容存放到 .npmignore 文件中,放置在项目的根目录中。
.git.svn# 忽略 .swp 后缀的文件.*.swp/logs/*# “!” 意思是不要忽视!logs/.gitkeep
.npmignore 文件就像 .gitignore 一样工作。它不能覆盖 package.json#files 字段。
中国镜像站安装
# 临时使用$ npm install -g <package-name> --registry=https://registry.npmmirror.com
将配置放置在 .npmrc 全局配置文件中,或者在项目的根目录中。
; registry=https://registry.npmjs.org/registry=https://registry.npmmirror.com
或者配置到 package.json#publishConfig 字段上
"publishConfig":{"registry": "https://registry.npmmirror.com"}
替换 npm 仓库地址为 npmmirror(淘宝) 镜像地址
npm config set registry https://registry.npmmirror.com
请参阅:npmmirror 中国镜像站
electronjs 镜像和缓存
ELECTRON_MIRROR="https://npmmirror.com/mirrors/electron/"ELECTRON_BUILDER_BINARIES_MIRROR=https://npmmirror.com/mirrors/electron-builder-binaries/; ELECTRON_CUSTOM_DIR="{{ version }}"
身份验证相关配置
//registry.npmjs.org/:_authToken=MYTOKEN; 将适用于 @myorg 和 @another//somewhere.com/:_authToken=MYTOKEN; 将适用于 @myorg//somewhere.com/myorg/:_authToken=MYTOKEN1; 将适用于 @another//somewhere.com/another/:_authToken=MYTOKEN2
另见
- npm 仓库、网站和命令行界面的文档 (npmjs.com)
- npmmirror 中国镜像站 (npmmirror.com)
