不一樣的系統,安裝 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。😆