一. nvm是什么
Node版本的迭代速度很快,版本很多,不同項(xiàng)目對(duì) node的依賴(lài)不同,故需要切換不同node版本
目前有n和nvm這兩個(gè)工具可以對(duì)Node進(jìn)行無(wú)痛升級(jí),n 命令是作為一個(gè) node 的模塊而存在,而 nvm 是一個(gè)獨(dú)立于 node/npm 的外部 shell 腳本,因此 nvm 命令相比 n更加全面,n更有局限性。
nvm 是 Mac 下的 node 管理工具,有點(diǎn)類(lèi)似管理 Ruby 的 rvm,如果是需要管理 Windows 下的 node,官方推薦是使用 nvmw 或 nvm-windows 。
我按nvm提供的文檔來(lái)完成nvm及node多個(gè)版本的安裝,因?yàn)樵诎惭b過(guò)程中遇到不少坑,特在此總結(jié)安裝中遇到的各種坑
二. 下載安裝與使用
<1> nvm 下載
nvm-windows下載地址:nvm-windows
選擇第一個(gè) nvm-noinstall.zip ,然后解壓在系統(tǒng)盤(pán)(建議放D盤(pán))。我放的目錄路徑是D:\NodeNVM\nvm。解壓出來(lái)的文件有:
+ elevate.cmd
+ elevate.vbs
+ install.cmd
+ LICENSE
+ nvm.exe
備注:windows下要設(shè)置顯示文件類(lèi)型的擴(kuò)展名,這樣才能看到上述文件的后綴
<2> nvm 安裝
雙擊 install.cmd ,是以控制臺(tái)形式顯示的,第一下直接按回車(chē),然后會(huì)在d盤(pán)根目錄產(chǎn)生settings.txt,把這個(gè)文件放進(jìn)剛剛解壓的那個(gè)目錄,然后修改settings.txt內(nèi)容,改成如下:
root: D:\NodeNVM\nvm
path: D:\NodeNVM\nodejs
arch: 64
proxy: none
倘若上面方法行不通,因?yàn)榇蜷_(kāi) install.cmd按下回車(chē)后,顯示拒絕訪問(wèn)注冊(cè)表路徑,并彈出一個(gè)settings.txt。此時(shí)關(guān)掉控制臺(tái)及文本,在D:\NodeNVM\nvm目錄里新建一個(gè)文件settings.txt,然后復(fù)制上面的內(nèi)容即可。
root : nvm的存放地址
path : 存放指向node版本的快捷方式,使用nvm的過(guò)程中會(huì)自動(dòng)生成。一般寫(xiě)的時(shí)候與nvm同級(jí)。
arch : 電腦系統(tǒng)是64位就寫(xiě)64,32位就寫(xiě)32
proxy : 代理
<3> nvm 環(huán)境變量配置
以控制臺(tái)方法執(zhí)行成功的,在環(huán)境變量里會(huì)自動(dòng)配置了 NVM_HOME 和 NVM_SYMLINK 。
直接創(chuàng)建settings文件的可以在環(huán)境變量里創(chuàng)建 NVM_HOME 和 NVM_SYMLINK,并添加路徑。
若環(huán)境變量配置有問(wèn)題,可以直接按下面兩種方式來(lái)手動(dòng)配置
第一種:右鍵單擊 我的電腦 - 屬性 - 高級(jí)系統(tǒng)設(shè)置 - 高級(jí) -環(huán)境變量 - 系統(tǒng)變量 中新建,輸入對(duì)應(yīng)變量名,變量值即可
NVM_HOME: D:\NodeNVM\nvm
NVM_SYMLINK :D:\NodeNVM\nodejs
第二種:windows+r 彈出輸入框后,輸入: sysdm.cpl,同第一種 高級(jí) 以后的操作(步驟稍微簡(jiǎn)單一點(diǎn)點(diǎn))
最后在上面的用戶(hù)變量中的PATH里加上
;%NVM_HOME%;%NVM_SYMLINK%;。
<4> nvm基本操作
打開(kāi)cmd窗口輸入命令:nvm -v ,查看當(dāng)前nvm的版本信息。
- nvm install latest // 下載最新的 node 版本 v7.2.0
- nvm install 8.5.0// 安裝不同版本
- nvm install 6.11.3 32 // 默認(rèn)是64位,32位需指定
備注: 如果你的電腦系統(tǒng)是32 位的,那么在下載nodejs版本的時(shí)候,一定要指明 32 如: nvm install 5.11.0 32 這樣在32位的電腦系統(tǒng)中,才可以使用,默認(rèn)是64位的。
- nvm uninstall 6.11.0 #卸載對(duì)應(yīng)的版本
- nvm use 8.5.0 // 引入使用
- nvm list // 查看已安裝的 node 版本
- nvm ls available//列出遠(yuǎn)程服務(wù)器上所有的可用版本
8.5.0
8.0.0
* 6.11.3 (Currently using 64-bit executable)
*表示當(dāng)前正在使用的node版本號(hào)
每次執(zhí)行切換的時(shí)候,系統(tǒng)都會(huì)把 node 的可執(zhí)行文件鏈接放到特定版本的文件上。
<5> 安裝node
第一個(gè)坑:安裝過(guò)node版本的,先卸載了在開(kāi)始看現(xiàn)在的安裝流程。
第一種方式:
使用命令行下載,直接輸入:nvm install [版本號(hào)]
nvm install 6.11.0
要下載最新版的可以直接輸nvm install latest
下載完成后,在控制臺(tái)輸入:nvm use [版本號(hào)]
nvm use 6.11.3
//下面會(huì)顯示如下內(nèi)容
Now using node v6.11.3 (64-bit)
//查看node版本是否是自己需要的
node -v
//顯示當(dāng)面使用版本號(hào)即表示毛病了
v6.11.3
第二種方式:
直接上官網(wǎng)下載所需安裝包
第二個(gè)坑:剛開(kāi)始我是用命令行的方式安裝的node所需版本,但是安裝的node啟動(dòng)項(xiàng)目一直有問(wèn)題,后同事告知命令行下載的版本很可能丟失文件,導(dǎo)致各種奇怪的問(wèn)題,直接去官網(wǎng)下載安裝包按下面操作流程即可。
- 1.下載安裝包之后,將文件解壓到D:\NodeNVM\nvm中
- 2.重命名,按原文件名更改為如下所示即可(嚴(yán)格按如下方式更改名字)
//原文件名 => 新文件名
node-v8.0.0-win-x64 => v8.0.0
所需要node下載完成后,按上面方式查看、切換版本
如果你是第一次下載,在use之前,D:\NodeNVM目錄下是沒(méi)有nodejs這個(gè)文件夾的,在輸入比如: nvm use 6.11.3 之后,你會(huì)發(fā)現(xiàn),D:\NodeNVM目錄下多了一個(gè)nodejs文件夾,這個(gè)文件夾不是單純的文件夾,它是一個(gè)快捷方式,指向了 D:\NodeNVM\nvm 里的 v6.11.3 文件夾。
同樣的咱們可以下載其他版本的nodejs,這樣通過(guò)命令:nvm use 版本號(hào) 比如:nvm use 5.11.0就可以輕松實(shí)現(xiàn)版本切換了。
注意:切換不同的node版本以后,用管理員身份打開(kāi)命令行,運(yùn)行npm -g -d i windows-build-tools,以解決window中某些不能用的命令的問(wèn)題
二. 安裝 cnpm
因?yàn)閚pm安裝插件是從國(guó)外服務(wù)器下載,受網(wǎng)絡(luò)影響大,可能出現(xiàn)異常,所以可以使用淘寶開(kāi)發(fā)的淘寶NPM鏡像,同步頻率目前為 10分鐘 一次。
<1> 通過(guò) config 配置指向國(guó)內(nèi)鏡像源
npm config set registry http://registry.cnpmjs.org //配置指向源
npm info express //下載安裝第三方包
<2> 通過(guò) npm 命令指定下載源
npm --registry http://registry.cnpmjs.org info express
<3> 在配置文件 ~/.npmrc 文件寫(xiě)入源地址
nano ~/.npmrc //打開(kāi)配置文件
registry =https://registry.npm.taobao.org //寫(xiě)入配置文件
npm install -g cnpm --registry=https://registry.npm.taobao.org
npm install -g cnpm --registry=http://r.cnpmjs.org
三.使用node啟動(dòng)項(xiàng)目
npm i (npm install 的簡(jiǎn)寫(xiě))安裝依賴(lài)時(shí)候,后面加上 -d可以看到文件安裝進(jìn)程和狀態(tài)
若安裝文件中出現(xiàn)狀態(tài)304且報(bào)錯(cuò),直接去D:\NodeNVM\npm-cache中,將緩存文件全部刪除
第三個(gè)坑:第三個(gè)坑與nvm無(wú)關(guān),是在查找資料時(shí)候我習(xí)慣打開(kāi)藍(lán)燈,但是藍(lán)燈會(huì)修改電腦上的一些配置,導(dǎo)致關(guān)機(jī)重啟后,無(wú)法順利連上網(wǎng)。所以用藍(lán)燈的用戶(hù),記得開(kāi)機(jī)后啟動(dòng)藍(lán)燈。