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