2012-08-07

Ubuntu 用 nvm 安裝多版本 node.js

nvm 的全名是「Node Version Manager」,就是 node.js 的版本管理軟體的意思,是用來讓開發人員可以在同一台電腦上安裝多個不同版本的 node.js ,方便進行不同版本的開發和測試,其實,nvm 只是一個事先寫好的 Shell Script,可以幫你自動下載指定的 node.js 版本的原始程式碼來編譯,同時,還能幫忙在不同版本中作切換哩 !


在使用 nvm 安裝 node.js 之前,要先安裝 nvm 才行,不過,由於 nvm 是採用下載原始碼來編譯的方式來安裝 node.js,所以,要利用 nvm 來安裝 node.js 的話,就需要安裝下面這些編譯程式所需的工具,如果有安裝過的話,就可以跳過。

sudo apt-get install build-essential libssl-dev curl git-core

安裝好編譯原始程式碼所需的工具之後,請先回到自己的家目錄,然後,就可以用下面的指令來把放在 github 上的 nvm 程式碼給整個複製下來,而複製下來的程式碼會放在 .nvm 資料夾裡。(由下面指令的最後一個參數來決定下戴存放的位置)

git clone git://github.com/creationix/nvm.git ~/.nvm

nvm 下戴完成後,請打開你的家目錄下的 .bashrc 檔案,然後,加入下面這一行後存檔,如果家目錄下沒有 .bashrc 這個檔案的話,請自行新增一個,然後,把下面這一行放進去就可以了 (下面指令的第一個字是點號)。

. ~/.nvm/nvm.sh

再來,請關閉 Terminal 後,再新開一個 Terminal 來讓剛剛設定的 .bashrc 生效,接下來,就可以用 “install" 指令來安裝 node.js 了,以下是以安裝 node.js 的 0.8.5 版為例,要注意的是,版本號碼的前方要加一個 “v”。

nvm install v0.8.5

因為是從頭編譯,所以,會需要花一些時間,安裝好之,就可以用 "ls" 指令來查看這台電腦上共安裝了那些版本。(要提醒的是,nvm 會同時安裝適用該版本的 npm , 因此,使用 nvm 安裝 node 後, 就不需要再自行安裝 nvm 了哩 ! .... )

nvm ls

而要切換所使用的 node.js 版本的話,則是要用 “use" 指令來指定,不過,預設是沒有指定的,所以,每次要使用 node.js 之前,一定要先用 “use" 指令來指定一個版本,否則,會出現找不到 node.js 程式的錯誤哩 !

nvm use v0.8.5

另外,如果只是要讓某支程式用指定版本來執行,而不想要切換 node.js 的版本的話,則是可以透過 “run" 指令來執行,例如,假設阿舍現在是切到 0.8.5 版,但是,想把 try.js 這支程式用 0.6.21 版來跑的話,就可以用下面這行指令來執行。

nvm run v0.6.21 try.js

以上就是用 nvm 安裝 node.js 的方式,基本上,除非是有需要在多個 node.js 版本上撰寫程式,否則,阿舍是覺得不太需要用到 nvm 來安裝 node.js 哩! 但是,如果想要使用最新版的 node.js 或是真的有多版本開發的需求,那麼就可以考慮採用 nvm 來管理 !

更新:
如果不想自己用 git clone 和設定資料夾的話,可以選用下面這二行中的任一行來安裝 nvm,它會自動幫你安裝和設定好的,執行完就可以直接安裝 node.js 了哩 ! (下列指令是直接從 nvm 的 github 專頁貼過來的哩 ! )

curl https://raw.githubusercontent.com/creationix/nvm/v0.24.1/install.sh | bash



wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.24.1/install.sh | bash


參考資料:
Node Version Manager
Install multiple version of node.js using NVM (Ubuntu)

推薦閱讀


有疑問? 問題還是沒解決嗎? 歡迎下方留言提問和討論 😁

沒有留言 :

張貼留言

歡迎留言提問和討論 .... 😁