首頁  >  文章  >  web前端  >  簡單談談node.js 版本控制 nvm和 n_node.js

簡單談談node.js 版本控制 nvm和 n_node.js

WBOY
WBOY原創
2016-05-16 15:36:261804瀏覽

今天的話題包括2個部分

1. node.js 下使用 nvm 或 n 來進行版本控制
2. nvm 安裝node.js 版本後,重啟終端 node , npm 環境變數失效

第一部分 用什麼來管理 node.js 版本

首先應該歡呼慶祝一下node.js 終於發布了有歷史意義的正式版1.0 ,雖然我們看到的是V4.0,其實他就是node.js 真正意義的1.0, io.js 不負眾望,完成了它的使命.

回頭看這幾年node.js 以及io.js 的發展速度,各種版本的迭代發布,我們很有必要用一個node.js 的版本管理工具來控制當前系統的node.js 版本.

為什麼這樣做?

在新的版本中已經用上了最新的V8引擎,ES 6的所有新特性一展身手,你能忍得住嗎?
但是,如果你魯莽升級,第一個問題是 你的開發環境和線上發布環境可能不一樣,那麼後果就不用多少了,出了問題 等著老闆來鞭屍吧.
第二個問題 可能是之前的一些開源套件需要重新編譯,尤其是 c 模組寫的.

所以,你需要一個 node.js 的版本管理軟體

現在流行的 node.js 版本管理有哪些?

nvm

我們用  brew 安裝 nvm

brew install nvm

這裡要注意
brew 安裝後一定要在你的 bash 或 zsh 設定檔中設定一下,否則 當你重新啟動終端機,你會發現 node ,npm 環境變數都失效了

這裡要穿插說一下我們要分享的第二個主題
nvm 重啟後終端 node ,npm 失效的解決方案

如果你使用了上面的 brew 的安裝方法
當安裝成功後,請按照以下操作設定你的 shell 設定檔

brew info nvm

你會看到下面的輸出幫助資訊

nvm: stable 0.26.1 (bottled), HEAD
Manage multiple Node.js versions
https://github.com/creationix/nvm
/usr/local/Cellar/nvm/0.26.1 (3173 files, 56M) *
 Poured from bottle
From: https://github.com/Homebrew/homebrew/blob/master/Library/Formula/nvm.rb
==> Caveats
Add NVM's working directory to your $HOME path (if it doesn't exist):

 mkdir ~/.nvm

Copy nvm-exec to NVM's working directory

 cp $(brew --prefix nvm)/nvm-exec ~/.nvm/

Add the following to $HOME/.bashrc, $HOME/.zshrc, or your shell's
equivalent configuration file:

 export NVM_DIR=~/.nvm
 source $(brew --prefix nvm)/nvm.sh

Type `nvm help` for further information.

Bash completion has been installed to:
 /usr/local/etc/bash_completion.d

我們需要按照上面提供的方法,首先在使用者更目錄下 建立 .nvm 檔案

mkdir ~/.nvm

然後把 nvm-exec 檔案拷貝到你剛才新建的 .nvm 目錄下

cp $(brew --prefix nvm)/nvm-exec ~/.nvm/

然後去編輯你的 bash 設定檔 $HOME/.bashrc ,如果你  使用 zsh 那麼編輯 $HOME/.zshrc 設定檔

nano ~/.bashrc

nano ~/.zshrc

把下面的內容貼進去

export NVM_DIR=~/.nvm
source $(brew --prefix nvm)/nvm.sh

最後讓你的 shell 配置及時生效

source ~/.bashrc


`source ~/.zshrc'

最後你就不會再出現關閉終端重啟,或重啟機器發現 node ,npm 等系統環境變數失效的問題了.

nvm 和 n 的差別

nvm 類似 Python 的 virtualenv 或 Ruby 的 rvm ,它是獨立安裝的軟體
n 其實是一個 npm 全域的開源套件 ,需要使用 npm 來全域安裝
n 更加輕巧,但是 nvm 更獨立.

假如你有一台新帶電腦,如果你想使用 版本管理,那麼 nvm 是你的選擇,因為它的獨立的軟體,安裝後你可以隨意下載切換你需要的版本.

但是 n 是依賴在 npm 下的一個包,也就是說 你的電腦環境還沒有 node / npm 的時候,你還用不了 n .
所以在使用的時候,大家可以針對自己的情況權衡.我自己使用 nvm 來控制 node 版本.

nvm 使用

查看可以安裝的版本

nvm ls-remote

查看已經安裝的版本

nvm ls

安裝一個指定的版本

nvm install <version>

上面的 version 可以指定你在 nvm ls-remote 裡面列出來的版本號碼即可

刪除指定版本

nvm use <version>

n 的安裝

npm install -g n

當然,你還可以去 github 下載你的源代碼自己本地編譯

$ git clone https://github.com/visionmedia/n.git
$ cd n
$ [sudo] make install
n 安装指定版本
n stable/laster/< version>

在 n 後面更一個標識 stable 標識最新穩定版, laster 標識最新版 , 就是你可以具體指定一個版本號

n 使用一个版本
n use <version>

n 删除一个版本
n rm <version>

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn