FE ,包含 node、nrm、 nvm

这里介绍的是日常开发中使用频率较高的工具,欢迎补充

nrm

场景

当你需要在不同 NPM 源之间切换时。举个例子,NPM 官方的源是 https://registry.npmjs.org/,但偶尔会出现网络异常慢的情况,你换成了淘宝的 CNPM 源 https://registry.npm.taobao.org,如果公司搭建了内部的 CNPM,用于存储团队内部的包,使用到内部源时,就需要再次切换。

这种场景是不是似曾相识,过程很像我们编辑 host 文件,管理 host 我们常用 switchhost,管理 NPM 源我们可以使用 nrm(node resource manager)

安装

1
npm i nrm -g

使用

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Usage: nrm [options] [command]

Commands:

ls 列举所有源
use <registry> 使用指定源
add <registry> <url> [home] 在列表中增加新源地址
del <registry> 删除
home <registry> [browser] 打开对应源的主页
test [registry] 测试源响应时间
help Print this help

Options:

-h, --help output usage information
-V, --version output the version number

nvm

场景

Node 目前的版本已经到了 10,为了体验最新版本的 feature,你装了 node v10 但目前大部分线上的服务还是 6,开发时,你又得切换回去,这使得日常开发需要在不同版本中切换。

nvm(node version manager) 适用这个场景。

安装

安装过程很简单,

1
2
3
4
# curl 安装脚本
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash
# 或者用 wget 安装
wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash

安装结束,试试 nvm ls 试试是否安装成功,如果安装过程出了问题,可以参考 GitHub 文档

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
╭─leeon@MBP 
╰─$ nvm ls
v6.9.5
v7.9.0
-> v8.6.0
v10.0.0
system
default -> 8 (-> v8.6.0)
node -> stable (-> v10.0.0) (default)
stable -> 10.0 (-> v10.0.0) (default)
iojs -> N/A (default)
lts/* -> lts/carbon (-> N/A)
lts/argon -> v4.9.1 (-> N/A)
lts/boron -> v6.14.1 (-> N/A)
lts/carbon -> v8.11.1 (-> N/A)

使用

下面是常见使用方式,我这里只是起一个引子,详细可参照 nvm help

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 下载安装对应 node 版本
nvm install [-s] <version>
# 卸载 指定版本
nvm uninstall <version>
# 切换 Node 到指定版本
nvm use [--silent] <version>
# 在指定 Node 版本运行命令
nvm exec [--silent] <version> [<command>]
# 在指定 Node 版本运行 node,可携带参数
nvm run [--silent] <version> [<args>]
# 显示当前 node 版本
nvm current
# 列举所有安装的 node 版本
nvm ls

举个例子

1
2
3
4
5
6
7
8
9

# 安装 v10
nvm install 10
# 使用 v10
nvm use 0.10
# 使用 node v0.10.32 执行 app.js
nvm run 0.10.32 app.js
# 使用 0.10.32 执行 `node app.js`
nvm exec 0.10.32 node app.js