Node.js 越來越熱,應用的場景也越來越多。
在開發中,我們可能同時在進行多個 node 項目,而這些不同的項目所使用的 node 版本又是不一樣的,或者是要用更新的 node 版本進行試驗和學習。
這種情況下,對於維護多個版本的 node 將會是一件非常麻煩的事情,而 nvm 就是為解決這個問題而產生的,他可以方便的在同一台設備上進行多個 node 版本之間切換。
安裝 nvm
如果你已經單獨安裝過 node ,建議卸載 node 並清除 npm 中的全局組件后,再繼續 nvm 的安裝。
Windows 用戶可以直接下載 >>引導程序<< 進行安裝。
安裝后可以在命令行進行驗證:
$ nvm version
> 1.1.7
# 如果提示不是內部命令,需要手動把 nvm 的安裝路徑添加到 環境變量 。
其他操作系統用戶,可以看這里:https://github.com/creationix/nvm/blob/master/README.md
切換源
老生常談。因為國內網速原因,你可以將 nvm 的默認倉庫替換為淘寶的鏡像地址。
# nvm node_mirror [url]
$ nvm node_mirror https://npm.taobao.org/mirrors/node
查看 Node
# 查看本地已安裝
$ nvm list && nvm ls
# 查看遠程可安裝
$ nvm list available && nvm ls available
安裝 Node
# 安裝最新版
$ nvm install latest
# 安裝指定版本
# nvm install version
$ nvm install v10.15.0
切換 Node
# nvm use version
$ nvm use 10.15.0
卸載 Node
# nvm uninstall version
$ nvm uninstall v10.15.0
沙箱式存儲全局組件
非 nvm 管理的情況下,全局組件是安裝到 /usr/local/lib/node_modules
下,然后通過軟連接的方式把包中 bin 目錄下的可執行文件鏈接到 /usr/local/bin
。不管用什么版本都裝到這些目錄下,多版本就沒法玩了。
在 nvm 管理下,以沙箱的方式,全局組件會裝到 .nvm 目錄的當前版本 node 下,也就是裝在 nvm 這個沙箱里,跟在指定版本的 node 下,當前有什么版本的 node ,就有對應的全局組件。這是 nvm 強大的地方,在多運行環境的管理和切換極為好用。
簡單來說,在 nvm 下,我們可以在不同的 node 版本下,安裝不同版本的全局組件。以便靈活的適應我們的開發環境需求。
使用.nvmrc文件運行
當然,nvm 的應用不僅僅局限於我們的開發環境,在線上的服務器中,nvm 也可以得到應用。
為了讓不同的應用系統使用各自所需的 node 版本運行,我們只需在各應用系統內的根目錄里生成一個 .nvmrc 文件,在其內寫一個版本號,利用 nvm run app.js
的方式運行系統,即可完成要求。不過可惜的是,目前這項功能只支持linux,OS系統。
參考
- nvm介紹及使用 -- 長城_changcheng:https://www.jianshu.com/p/d0e0935b150a