From 4e6f9853e9d4b0d10c7538bd3aa5b562c9a3e94c Mon Sep 17 00:00:00 2001 From: jaywcjlove <398188662@qq.com> Date: Wed, 5 Oct 2022 15:55:33 +0800 Subject: [PATCH] doc: update `npm.md`. --- docs/npm.md | 148 ++++++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 131 insertions(+), 17 deletions(-) diff --git a/docs/npm.md b/docs/npm.md index 06be78f..0cf67c2 100644 --- a/docs/npm.md +++ b/docs/npm.md @@ -5,17 +5,22 @@ 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 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 @` | 使用 dist-tags 安装包 | +| `npm install -g ` | 全局安装包 | +| `npm uninstall ` | 卸载包 | `--save` 是 npm@5 的默认值。 以前,使用不带 `--save` 的 `npm install` 不会更新 package.json。 @@ -47,16 +52,17 @@ npm 备忘清单 ### 更新 -| 命令 | 描述 | -| --- | --- | -| `npm update` | 更新生产包 | -| `npm update --dev` | 更新开发包 | -| `npm update -g` | 更新全局包 | -| `npm update lodash` | 更新 lodash 包 | +| 命令 | 描述 | +| --- | --- | +| `npm version ` | 要更改 `package.json` 中的版本号 | +| `npm update` | 更新生产包 | +| `npm update --dev` | 更新开发包 | +| `npm update -g` | 更新全局包 | +| `npm update lodash` | 更新 lodash 包 | ### 杂项功能 - + 将某人添加为所有者 @@ -70,7 +76,7 @@ npm owner add USERNAME PACKAGENAME npm ls ``` -向安装旧版本软件包的用户添加警告 +向安装旧版本软件包的用户添加警告(弃用) ```bash npm deprecate PACKAGE@"< 0.2.0" "critical bug fixed in v0.2.0" @@ -86,4 +92,112 @@ npm update [-g] PACKAGE ```bash npm outdated [PACKAGE] -``` \ No newline at end of file +``` + +### 更改包裹可见性 + +将公共包设为私有 + +```bash +npm access restricted +``` + +公开私有包 + +```bash +npm access restricted +``` + +授予私有包访问权限 + +```bash +npm owner add +``` + +### 要将包转移到 npm 用户帐户 + +```bash +npm owner add +# 新维护者接受邀请 +npm owner rm +``` + +写入启用了双因素身份验证 + +```bash +npm owner add --otp=123456 +``` + +### 取消发布包 + +```bash +npm unpublish -f +# 取消指定版本 +npm unpublish @ +``` + +注意:如果您取消发布整个包,则必须在 24 小时后才能发布该包的任何新版本。 + +配置 +--- + +### .npmrc + +:- | :- +:- | :- +`/path/to/project/.npmrc` | 每个项目的配置文件 +`~/.npmrc` | 每个用户的配置文件 +`$PREFIX/etc/npmrc` | 全局配置文件 +`/path/to/npm/npmrc` | npm 内置配置文件 + + +### 配置内容 + + +```ini +# last modified: 01 Jan 2016 +; Set a new registry for a scoped package +@myscope:registry=https://mycustomregistry.example.org +``` + +注释使用 `#`, `;` 放置到一行的开头。`.npmrc` 文件由指定此注释语法的 [`npm/ini`](https://github.com/npm/ini) 解析 + +### `.npmignore` + +将下面内容存放到 `.npmignore` 文件中,放置在项目的根目录中。 + +```gitignore +.git +.svn +# 忽略 .swp 后缀的文件 +.*.swp +/logs/* + +# “!” 意思是不要忽视 +!logs/.gitkeep +``` + +`.npmignore` 文件就像 [`.gitignore`](./git.md#忽略文件) 一样工作。它不能覆盖 `package.json#files` 字段。 + +### 中国镜像站安装 + + +```bash +$ npm install -g --registry=https://registry.npmmirror.com +``` + +将配置放置在 `.npmrc` 配置文件中。 + +```ini +registry=https://registry.npmmirror.com +``` + +或者配置到 `package.json#publishConfig` 字段上 + +```json +"publishConfig":{ + "registry": "https://registry.npmmirror.com" +} +``` + +请参阅:[npmmirror 中国镜像站](https://npmmirror.com/) \ No newline at end of file