NPM 命令

npm config 命令

npm config命令是一组设置npm配置的命令。通过npm config -h可以查看到所有这些命令,详见官方文档 - npm-configopen in new window

➜  ~ npm config -h
npm config set <key> <value>
npm config get [<key>]
npm config delete <key>
npm config list [--json]
npm config edit
npm set <key> <value>
npm get [<key>]
1
2
3
4
5
6
7
8

npm config set

# 设置某项配置项
# npm config set <key> <value>
npm config set registry https://npm.corp.kuaishou.com/
# 或
npm config set registry=https://npm.corp.kuaishou.com/
1
2
3
4
5

npm config get

# 获取某配置项的值
# npm config get [<key>]
npm config get registry
1
2
3
# 获取通过 npm install xxx -g 安装的 xxx 文件的安装目录
# 默认情况下,
#     windows 系统的路径基础部分是:%APPDATA%/npm/
#     mac系统下路径基础部分是:/usr/local/
# 若是安装了 nvm 等控制 node 版本的工具,路径基础部门将改变
npm config get prefix
1
2
3
4
5
6

npm config delete

# 删除某配置项
# npm config delete <key>
npm config get registry
1
2
3

npm config list

# 查看 npm 的所有配置,包括默认配置
npm config ls -l
1
2

npm config edit

npm提供了方便快捷的修改方式,在不知道.npmrc这个文件的位置的情况下,也可以修改该文件。

npm config edit
1

npm set/get

npm setnpm get可能是npm config setnpm config get的简写方式,官网未说明,待验证。

npm dist-tag

详见npm-dist-tagopen in new window

查看包的发布 tag

# 语法
npm dist-tag ls [<pkg>]

# 示例
npm dist-tag ls vue
# 结果
# beta: 2.6.0-beta.3
# csp: 1.0.28-csp
# latest: 2.6.10
1
2
3
4
5
6
7
8
9

添加包的发布 tag

# 语法
npm dist-tag add <pkg>@<version> [<tag>]
1
2

删除包的发布 tag

# 语法
npm dist-tag rm <pkg> <tag>
1
2

删除已发布包的指定版本

$ npm unpublish [<pkg>][@<version>] --force
1

详见: NPM - npm-unpublishopen in new window

npm view

显示包的信息,npm view的别名: npm info, npm show, npm v。详见NPM - npm-viewopen in new window

npm view package@version

# 查看 vue@latest 的包信息
npm view vue

# output:

# vue@2.6.12 | MIT | deps: none | versions: 311
# Reactive, component-oriented view layer for modern web interfaces.
# https://github.com/vuejs/vue#readme

# keywords: vue

# dist
# .tarball: https://registry.npmjs.org/vue/-/vue-2.6.12.tgz
# .shasum: f5ebd4fa6bd2869403e29a896aed4904456c9123
# .integrity: sha512-uhmLFETqPPNyuLLbsKz6ioJ4q7AZHzD8ZVFNATNyICSZouqP2Sz0rotWQC8UNBF6VGSCs5abnKJoStA6JbCbfg==
# .unpackedSize: 3.0 MB

# maintainers:
# - yyx990803 <yyx990803@gmail.com>

# dist-tags:
# csp: 1.0.28-csp  latest: 2.6.12   next: 3.0.7

# published 6 months ago by yyx990803 <yyx990803@gmail.com>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24

npm view package versions

# 查看 vue 的所有历史版本
npm view vue versions

# output

# [ '0.0.0',
#   '0.6.0',
#   '0.7.0',
#   ...
#   '3.0.4',
#   '3.0.5',
#   '3.0.6' ]
1
2
3
4
5
6
7
8
9
10
11
12

npm view package repository.url

# 查看 vue 的 git 仓库地址
npm view vue repository.url

# output:
# git+https://github.com/vuejs/vue.git
1
2
3
4
5

npm view package --json

# 以 json 格式显示 vue 的所有信息
npm view vue --json
1
2

npm link主要是解决在本地使用/测试未发布的 NPM 包。

第一步,在被依赖的库文件夹下执行:

cd my-utils

# 在 my-utils 目录下执行 npm link,会创建一个全局软链将 {prefix}/lib/node_modules/<package> 链接到当前目录,即
# {prefix}/lib/node_modules/my-utils    -->    my-utils
npm link
1
2
3
4
5

提示

创建软链时,{prefix}/lib/node_modules/<package>里的package的取值,是取自my-utils目录下package.jsonname,而不是my-utils目录的目录名称。

第二步,在项目目录下执行:

cd my-project

# 会创建一个软链,将当前目录下的 node_modules/<package> 链接到全局安装目录下的同名目录,即
# my-project/node_modules/my-utils    -->    {prefix}/lib/node_modules/my-utils
npm link my-utils
1
2
3
4
5

为了方便,可将上面两步简化成一步:

cd my-project

# 下面这条命令等价于如下两条命令
# cd ../my-utils; npm link
# cd ../my-project; npm link my-utils
npm link ../my-utils
1
2
3
4
5
6