Node 的 3m 管理法,让你开发起来只专注写 bug

2,559 阅读6分钟

不同的系统,安装 Node 的方式也是不同的,而且有的电脑上可能会存在很多 Node 版本,并且我们在使用到 Node 的地方,都会用到 Node 配套的 npm 包,大家最诟病的应该就是 npm 下载太慢的问题。这个时候就可以实践一下下面的 3m 安装法。

主要来自狼叔的《了不起的 Node 卷一》。

先来附上一张脑图,吸引一下大家:

看完脑图,我们的正文开始把,如果有电脑的话,最好跟着操作一下。

nvm(node version manager)

nvm 主要用于开发阶段,解决 Node 的多版本共存、切换等问题。

安装 nvm

以下是 mac 版的安装,window 和 liunx 可以参考官网

直接在终端执行以下命令即可安装:

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh | bash

执行完成后,需要拷贝下面的环境变量

export NVM_DIR="${XDG_CONFIG_HOME/:-$HOME/.}nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm

然后放到 ~/.bashrc 文件中,如果使用的是 zsh,就需要把环境变量放到 ~/.zshrc 文件中。

可以通过 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 package manager)

对于 npm,相信大家已经很熟悉了,看名字,顾名思义就是解决 Node 模块问题,其实本身 Node 也是一个模块,我们平时使用的 webpack,使用 npm install webpack 之后,webpack 也是一个模块。

安装 npm

在安装 Node 时,就会配套安装对应的 npm 版本,这个就不赘述了。

可以使用 npm -v 查看本机的 npm 版本。

使用 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(node registry manager)

nrm 可以解决 npm 镜像访问慢的问题,还可以对各个 npm 的镜像进行速度测试,随意切换 npm 镜像源。

我们在平时安装 npm 模块时,因为 npm 的源是在国外,所以安装起来会非常慢,经常听到其他人告诉你,使用淘宝的镜像或者使用 cnpm 吧,其实不管是 cnpm,还是淘宝的镜像,都是一个 npm 的源,如果你想根据网速随意切换源的话,这个时候就要用到 nrm 了。

安装 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。😆

阅读完后两部曲

  1. 喜欢的小伙伴点个赞吧,感觉对身边人有帮助的,麻烦动动手指,分享一下。非常感谢各位花时间阅读完,同时很感谢各位的点赞和分享。
  2. 希望各位关注一下我的公众号吧,新的文章第一时间发到公众号,公众号主要发一些个人随笔、读书笔记、还有一些技术热点和实时热点,并且还有非常吸引人的我个人自费抽奖活动哦~