阅读 725

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

不同的系统,安装 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. 希望各位关注一下我的公众号吧,新的文章第一时间发到公众号,公众号主要发一些个人随笔、读书笔记、还有一些技术热点和实时热点,并且还有非常吸引人的我个人自费抽奖活动哦~

关注下面的标签,发现更多相似文章
评论