用 apt-get 安裝 node 和用 nvm 安裝 node 的區別

初識 apt-get 和 nvm


apt-get

  • 是什么
    在各個平臺都有相關的包管理工具,比如 ubuntu 下面有 apt-get,centos 下面有 yum,mac 下面有 brew 等,它們都是安裝軟件的非常方便的利器,主要用于自動從互聯網的軟件倉庫中搜索、安裝、升級、卸載軟件或操作系統
  • 如何使用 apt-get 安裝 node
$ sudo apt-get install nodejs
$ sudo apt-get install npm

這里,因為使用 apt-get 安裝的 node 的包管理工具 npm 并沒有初始安裝,所以需要安裝 npm

  • 查看安裝版本
  • 查看 node 版本
$ node --version
v6.3.0
  • 查看 npm 版本
$ npm  --version
3.10.3

在查看版本號時,也可以通過 -v 命令查看,比如: node -v,npm -v

  • 怎么使用 node
  • 進入 node 環境
 $  node
 > 

$ nodejs
>

通過 > 可以看出現在已經進入 node 環境

  • 運行 js 文件,例如運行 hello.js
$ nodejs hello.js

$ node hello.js

nvm

  • 是什么
    nvm是一個開源的 Node 版本管理器,通過簡單的 bash 腳本來管理、切換多個 Node.js 版本,使用 nvm 可以安裝官網最新版本之前的任意版本,可以任意切換不同版本
  • 如何使用 nvm 安裝 node
  • 首先我們需要安裝 nvm
$ curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.29.0/install.sh | bash
  • 接下來查看一下 node 有哪些版本可以安裝
$ nvm ls-remote

         v6.1.0  
         v6.2.0  
         v6.2.1  
         v6.2.2  
         v6.3.0  
         ....
  • 下載所需要的 node 版本,比如說我們需要 v6.3.0 版本
$ nvm install v6.3.0
  • **查看安裝版本和使用 node 的方法 和 apt-get 相同,這里不再復述 **
  • 使用 nvm 切換 node 版本
  • 查看當前已安裝版本
$ nvm ls
 ->       v6.3.0  
default -> v6.3.0
node -> stable (-> v6.3.0) (default)
stable -> 6.3 (-> v6.3.0) (default)
iojs -> N/A (default)
lts/* -> lts/argon (-> N/A)
lts/argon -> v4.6.0 (-> N/A)

從運行結果可以看出,當前電腦上的 node 版本只有一個 v6.3.0,并且當前正在使用的版本也是 v6.3.0,默認的版本同樣也是 v6.3.0

  • 例如要使用 v4.4.5 版本,首先安裝該版本(可以先使用 nvm ls-remote 查看所有版本)
$ nvm install v4.4.5
  • 使用 use 命令切換至該版本
$ nvm use v4.4.5
Now using node v4.4.5 (npm v2.15.5)
  • 設置默認版本
$ nvm alias default v6.3.0

如果沒有設置 default 默認開機 node 是沒有啟動的,所以可能會報找不到 node 命令的錯誤,因此我們需要設置默認版本

  • 卸載某個 node 版本,例如卸載 v4.4.5 版本
$ nvm uninstall v4.4.5

個人建議

  • 個人平時使用 node 時,習慣使用 node 命令,畢竟少輸個 “js”,節省時間
  • 安裝 node 時,node 各個版本特性不同,對于 Node.js 這個版本帝而言,很多項目需要使用不同版本的 node 開發機器上可能要同時存在幾個 Node.js 的大版本,所以建議大家使用 nvm 方式安裝 node

兩種方式安裝的具體差異


  • 安裝版本
    • apt-get
      不是最新版本(在linux下默認源中沒有 node 的程序),安裝的版本有且只有一個,而且執行sudo命令的時候,是以超級管理員身份運行,以后你用npm是以管理員權限執行的,所以別人就可以更改系統文件,會造成安全性問題,具體細節可聽下回分解
  • nvm
    可以供我們選擇要安裝的版本,并且則解決了多版本共存、切換問題,但在安裝之前,請確認本機以前的安裝包已經被卸載
  • 安裝目錄(終端通過 whereis node 查看)
  • apt-get
 /usr/local/bin/node
  • nvm
/home/xxx/.nvm/versions/node/v6.3.0/bin/node

nvm 使用 node 切換版本內部實現原理


實現原理:在一個目錄下存放多個版本的目錄,在切換時候將相應的版本路徑加入 PATH 中,從而實現版本的切換,例如從 v6.3.0 切換到 v4.4.5 具體流程如下:

  • 查看一下當前使用的 node 版本
$ node --version
  v6.3.0
  • 現在來看一下 node 環境變量
$ echo $PATH    
/home/guoru/.nvm/versions/node/v6.3.0/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin

通過環境變量我們可以看出,現在使用的 node 版本是 v6.3.0

  • 使用 nvm use v4.4.5 切換版本,并且查看環境變量
$ nvm use v4.4.5
Now using node v4.4.5 (npm v2.15.5)
$ echo $PATH    
/home/guoru/.nvm/versions/node/v4.4.5/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin

可以看出環境變量已經將 PATH 路徑中的版本改為 v4.4.5版本了

總結


如果您是一個前端開發人員,建議您使用 nvm 來安裝 node,如果您是一個普通的用戶,建議您使用 apt-get 安裝 node 。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容