NodeJS的多版本安裝及切換
簡介
為什麼會寫這麼一篇部落格呢,一是考慮到備份問題,二是考慮到搜尋問題,三則是考慮到其他的文章源可能因為某些原因失效的問題。
那麼下面我們就來說說遇到的場景。
當專案使用的Node版本你不清楚是哪個版本的時候,那麼你可以到專案的 package.json 檔案中找到下面的內容
"engines": { "node": ">= 6.0.0", "npm": ">= 3.0.0" },
這個節點呢就明確的告訴了你node的版本需要什麼版本以上的,那麼在這個版本之上,可以隨便找一個版本去安裝就可以了
那為什麼要用到多版本切換呢,理論上大於6.0.0的版本不是就完全可以了麼?還裝那麼多Node版本不是多此一舉麼?
這個跟歷史有關係,每個Node的版本所依賴的包也都是不同的個人及團體建立的,版本號不可能全部完全統一,每個包的維護和更新也都跟團隊的更新進度有關係,所以也就產生了Node包更新的時候也同樣的支援了不同包的版本號
那多版本切換使用在什麼場景下呢
當你安裝的包發現,無論怎麼安裝依賴都無法正常執行的時候,或者無法安裝成功的時候,就要根據錯誤提示,去找不支援當前Node版本的包的依賴包,它支援的Node版本是哪個,那麼你就要安裝這個版本的Node來執行這個專案才可以
步驟
這裡需要引入一個名詞nvm,它是一個多版本管理NodeJS的工具
第一步:下載
下載地址:https://github.com/coreybutler/nvm-windows/releases
第二步:安裝
按照提示完成安裝即可,安裝完成後可以檢測一下是否安裝成功
在cmd命令列輸入nvm,如果出現nvm版本號和一系列幫助指令,則說明nvm安裝成功。
第三步:修改settings.txt
在你安裝的目錄下找到settings.txt檔案,開啟後加上
node_mirror: https://npm.taobao.org/mirrors/node/ npm_mirror: https://npm.taobao.org/mirrors/npm/
這一步主要是將npm映象改為淘寶的映象,可以提高下載速度。
第四步:node.js 安裝
可以先使用num list檢視本地已安裝的版本
然後使用nvm list available檢視所有版本
NVM常用命令 nvm list 檢視已經安裝的版本 nvm list installed 檢視已經安裝的版本 nvm list available 檢視網路可以安裝的版本 nvm version 檢視當前的版本 nvm install 安裝最新版本nvm nvm use <version> ## 切換使用指定的版本node nvm ls 列出所有版本 nvm current顯示當前版本 nvm alias <name> <version> ## 給不同的版本號新增別名 nvm unalias <name> ## 刪除已定義的別名 nvm reinstall-packages <version> ## 在當前版本node環境下,重新全域性安裝指定版本號的npm包 nvm on 開啟nodejs控制 nvm off 關閉nodejs控制 nvm proxy 檢視設定與代理 nvm node_mirror [url] 設定或者檢視setting.txt中的node_mirror,如果不設定的預設是 https://nodejs.org/dist/ nvm npm_mirror [url] 設定或者檢視setting.txt中的npm_mirror,如果不設定的話預設的是: https://github.com/npm/npm/archive/. nvm uninstall <version> 解除安裝制定的版本 nvm use [version] [arch] 切換制定的node版本和位數 nvm root [path] 設定和檢視root路徑
第五步:獲取所有可以安裝的 Node.js 版本
nvm list available
LTS
指最新穩定版本,CURRENT
指最新版本,一般安裝LTS
第六步:安裝指定版本的 Node.js
nvm install 10.11.0
第七步:列出所有已經安裝的版本
nvm list
第八步:指定當前要使用的 Node.js 版本,只用指定使用的 Node.js 版本後,nodejs 的才真正安裝了。
nvm use 10.11.0
第九步:解除安裝某個 Node.js 版本
nvm uninstall 10.11.0
到此呢,使用nvm來管理你的NodeJS的多版本安裝和切換就完全足夠了,如果想要研究更深層次的,可以去玩一玩nvm的命令,深刻理解一下。
文獻參考:
https://www.cnblogs.com/czql/articles/11064849.html
https://www.runoob.com/w3cnote/node-multi-version.html (手動安裝node多版本)
https://www.cnblogs.com/stevexu/p/9734249.html
QQ:365845726 微信:zhao365845726 有興趣可以加入QQ群: 群號:924439616(ML-Dotnet解決方案)