使用 NVM 安裝節點
僅在過去 6 個月內,Node.js 就從 v0.12.x 升級到了 v5.1.x。在此期間有 35 多個版本,每個版本都添加了一些重要的功能或錯誤修復。這一飛躍的很大一部分是將 io.js 合併到 Node 中,而 Node 的發展速度要快得多。
安裝 Node 並不是最簡單的過程,或者至少每隔幾天就不斷地卸載和重新安裝它並不方便。對於需要為其庫支持多個 Node 版本的開發人員以及必須在不同軟件的版本之間切換的用戶來說,這成為了一個大問題。
例如,流行的博客平台 Ghost 長期只支持 v0.10.0 和 v0.12.0。因此,如果您使用 io.js 或 v1.0.x+ 版本進行任何開發,那麼您必須在 Node/io.js 版本之間來回切換才能使用 Ghost。
在快節奏的版本和必須支持多個版本的 Node 之間,必須有一種更簡單的方法來在版本之間切換。這就是 NVM 的用武之地。
什麼是 NVM?
Node Version Manager (NVM) 是一個實用程序,可幫助您快速安裝和在 Node 版本之間切換。使用 NVM,無需像以前那樣手動安裝和卸載版本。
另外,每次安裝新的 Node.js 版本,也會得到對應的 npm 包,完全不用擔心兼容性問題。
您安裝的每個版本都保留在系統中,並且可以隨時訪問。因此,如果您要維護自己創建的庫,則可以輕鬆返回到任何版本的 Node 並對其進行測試或創建補丁。
NVM 基本上只是一些 bash 腳本,可幫助您安裝、卸載和鏈接不同的 Node 二進製文件。由於它是作為 bash 腳本編寫的,因此僅適用於 OSX 和 Linux。不幸的是,這意味著它與 Windows 本身不兼容。但是,有一些替代方案可以模仿 NVM 的功能:nvmw 和 nvm-windows。
安裝 NVM
安裝 NVM 的最簡單方法是從終端運行以下命令。但首先,如果您還沒有安裝一些依賴項,則需要安裝它們。
Linux:
$ sudo apt-get update
$ sudo apt-get install build-essential libssl-dev
在 OSX 上,您需要的唯一依賴項是命令行開發人員工具。執行以下命令,然後點擊“安裝”。
OSX:
$ xcode-select --install
最後,您可以使用以下命令安裝 NVM:
$ curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.29.0/install.sh | bash
或者,通過使用 wget
替代方案:
$ wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.29.0/install.sh | bash
這些命令將直接從 Github 存儲庫下載並運行安裝腳本。
本質上,此安裝腳本會將 NVM 存儲庫下載到 ~/.nvm
目錄並添加 source
行到您的 shell 配置文件 (~/.bash_profile
, ~/.zshrc
, 或 ~/.profile
)。
我過去在某些系統上遇到過問題,其中 source
行未正確添加到 .bash_profile
,所以我每次打開shell都必須手動激活NVM,所以要注意這個問題。你需要打開 .bash_profile
並自己手動修復。
如何使用 NVM
要使用 NVM 安裝新版本的 Node,只需運行 install
命令:
$ nvm install 5.1
這將下載並安裝最新的 v5.1.x 版本。要實際激活該版本,您可以這樣做:
$ nvm use 5.1
現在所有對 node
的調用 將定向到v5.1.x版本。
或者,如果您只想進行一次性調用而不是完全切換二進製文件,您可以使用 run
命令:
$ nvm run 5.1 index.js
免費電子書:Git Essentials
查看我們的 Git 學習實踐指南,其中包含最佳實踐、行業認可的標準以及隨附的備忘單。停止谷歌搜索 Git 命令並真正學習 它!
這將運行 index.js
作為 Node v5.1.x,但 node
命令仍將鏈接到運行 nvm run
之前的任何版本 .
不確定您已經安裝了哪些版本?使用 ls
命令獲取所有可用的列表:
$ nvm ls
v0.12.2
iojs-v2.0.0
iojs-v3.3.1
v4.1.2
-> v5.1.0
system
default -> v4.1.2
node -> stable (-> v5.1.0) (default)
stable -> 5.1 (-> v5.1.0) (default)
iojs -> iojs-v3.3 (-> iojs-v3.3.1) (default)
最後,一旦你知道你已經完成了一個版本並且不再需要它,卸載它很容易:
$ nvm uninstall 5.1
有關更多信息,請查看 NVM 自述文件,其中包含更完整的命令列表。