不一样的系统,安装 Node 的方式也是不一样的,并且有的电脑上可能会存在不少 Node 版本,而且咱们在使用到 Node 的地方,都会用到 Node 配套的 npm 包,你们最诟病的应该就是 npm 下载太慢的问题。这个时候就能够实践一下下面的 3m 安装法。node
主要来自狼叔的《了不得的 Node 卷一》。webpack
先来附上一张脑图,吸引一下你们:git
看完脑图,咱们的正文开始把,若是有电脑的话,最好跟着操做一下。程序员
nvm 主要用于开发阶段,解决 Node 的多版本共存、切换等问题。github
如下是 mac 版的安装,window 和 liunx 能够参考官网。web
直接在终端执行如下命令便可安装:npm
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh | bash
复制代码
执行完成后,须要拷贝下面的环境变量json
export NVM_DIR="${XDG_CONFIG_HOME/:-$HOME/.}nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
复制代码
而后放到 ~/.bashrc
文件中,若是使用的是 zsh,就须要把环境变量放到 ~/.zshrc
文件中。bash
能够经过 cat 命令进行查看确认。网络
cat ~/.bashrc | grep nvm
复制代码
若是看到了你上面 copy 的环境变量,这个时候就已经安装成功了,在命令行中经过如下命令查看 nvm 的版本号。
nvm --version
# 0.34.0
复制代码
咱们能够经过 nvm,去查看具体能够安装的版本,既然做为一个程序员,那咱们就不要去官网下载包,而后双击安装了,咱们用命令行进行安装吧。
nvm nvm ls-remote
# 这个时候就会将能够安装的版本都列出来
复制代码
咱们不用一一了解,正常开发只要使用 LTS(稳定版本)版本就能够了,若是你想了解 Node 最新的一些改动,咱们能够安装最新的尝鲜版。
咱们能够直接使用命令安装本身想安装的版本。
nvm install 10.16.0
复制代码
安装完成以后咱们能够查看 node 版本所在位置,也能够查看目前 node 版本。
# 查看node安装位置
which node
# /Users/syp/.nvm/versions/node/v10.16.0/bin/node
# 查看node版本
node -v
# 10.16.0
复制代码
使用 nvm 还能够随意切换版本。
nvm use 10.15.3
复制代码
这个时候就表示切换成功了。
咱们能够查看本机具体安装了哪些 node 版本。
nvm ls
复制代码
切换了 node 版本以后,有时会发生全局安装的模块不能用,这个时候咱们直接使用如下命令就能够将全局模块进行从新安装。
nvm reinstall-packages
复制代码
对于 npm,相信你们已经很熟悉了,看名字,顾名思义就是解决 Node 模块问题,其实自己 Node 也是一个模块,咱们平时使用的 webpack,使用 npm install webpack
以后,webpack 也是一个模块。
在安装 Node 时,就会配套安装对应的 npm 版本,这个就不赘述了。
可使用 npm -v
查看本机的 npm 版本。
npm 在安装一个模块时,后面会有一些其余的参数。
好比:
npm install webpack:将模块安装到本地 node_modules 中,可是不保存到 package.json 中。
npm install webpack --save-prod:--save-prod
能够简写成 -P
,会安装到本地的 node_modules 中,而且会保存到 package.json 的 dependencies 中,上线时使用。
npm install webpack --save-dev:--save-dev
能够简写成 -D
,会安装到本地的 node_modules 中,而且会保存到 package.json 的 devDependencies 中,通常测试开发编译时使用。
npm install webpack --global:--global
能够简写成 -g
,会安装成全局模块。
具体 package.json 的一些问题,能够参考我写的另一篇文章package.json 使用指南。
nrm 能够解决 npm 镜像访问慢的问题,还能够对各个 npm 的镜像进行速度测试,随意切换 npm 镜像源。
咱们在平时安装 npm 模块时,由于 npm 的源是在国外,因此安装起来会很是慢,常常听到其余人告诉你,使用淘宝的镜像或者使用 cnpm 吧,其实不论是 cnpm,仍是淘宝的镜像,都是一个 npm 的源,若是你想根据网速随意切换源的话,这个时候就要用到 nrm 了。
nrm 是 npm 的一个模块,咱们能够直接使用 npm 进行安装。
sudo npm install nrm --global
复制代码
由于安装的是全局模块,为了以防万一,使用 sudo 进行安装。
你们最关心的来了,咱们可使用 nrm 对 npm 的源进行测速,而后使用当前网络下最快的源。
nrm test
复制代码
*表明当前源,从我目前的网速来看,这几个源的状态都还不错,我仍是使用 npm 源,由于不会有一些奇怪的 bug 产生。根据你的网速自行选择,若是 npm 源速度不错的话,仍是建议使用 npm 源,其次才是 cnpm 和 taobao。
咱们在切换源以前要知道具体的源对应的连接,这个时候若是去网上找的话,那就太麻烦了,nrm 也就没什么做用了。
nrm ls
复制代码
这个时候就能够看到各个 npm 源对应的连接了,前边是简称,咱们切换源的时候,直接使用简称就能够。
nrm use taobao
复制代码
这个时候再经过 nrm ls
查看源的列表,就会发现咱们切换成功了。
有一些大公司会本身去搭建 npm 源,好比咱们用的 taobao 源,其实就是阿里本身搭建的。若是大家公司有本身的 npm 源,这个时候你就能够经过下面的命令把本身公司的源添加到你的 npm 源列表中。
nrm add yourcompany http://registry.npm.yourcompany.com/
复制代码
不知道各位有没有在读的过程当中,跟着一块儿操做呢,若是跟着一块儿操做了,那恭喜你,如今能够愉快的写 bug 了,若是没有操做的小伙伴,在有电脑的状况下,赶忙操做一波吧。
虽然 3m 安装起来还挺复杂的,可是当安装完以后,使用起来也是很爽的,不再用操心 node 版本的问题,也不用操心 npm 下载慢的问题,使用 3m 工具,让你的开发起来只须要用心作一件事就好,那就是写 bug。😆