輕松管理你的 Node 版本

xutw4318 7年前發布 | 19K 次閱讀 Node.js 開發 JavaScript

玩 Node.js 的小伙伴們都知道,現在 Node 的版本更新很快,目前最新穩定版已經更新到 v7.6.0 了,而生產環境一般選擇使用 LTS (Long-term Support)版本,目前最新的是 v6.10.0。

新版的 Node 7.x.x 有非常有用的更新,那就是支持了 --harmony-async-await。這樣就不用依賴 babel 來使用 async/await 特性了。

但是,如何讓 7.x.x 和 LTS 的 6.x.x 并存呢?就需要用 Node 版本管理工具了。

之前常用的 Node 版本管理工具是 nvm ,這是一個 shell 工具,能夠比較方便地切換 Node 版本。

不過今天我要介紹給大家的是另一款更簡單好用的 Node 版本管理工具,它本身是一個 Node 模塊,叫做 n ,它是由 TJ 大大開發的,強調簡單化的版本管理工具:

Node.js version management: no subshells, no profile setup, no convoluted API, just simple.

安裝 n

要安裝 n 非常簡單,它本身是一個 NPM 模塊,因此:

npm -g install n

使用和設置

要使用 n 安裝特定版本的 node,只需要如下命令:

n stable #安裝最新的穩定版
n lts #安裝最新的 LTS 版
n 6.9.0 #安裝特定的 v6.9.0 版本

安裝完成多個版本后,直接輸入不帶參數的 n 命令,會出現一個已安裝版本的列表:

用鍵盤上下鍵選擇版本,然后回車,就可以切換默認 Node 版本。

直接啟動不同版本的 Node

假如我們將默認的 Node 版本設置為 6.10.0 了,而我們要使用 7.6.0 啟動某個應用,也非常簡單,只需要:

n use 7.6.0 index.js

于是,我們可以這么用:

async.js

'use strict'

let randomDelay = () => new Promise(function(resolve){
    var delay = Math.round(Math.random() * 1000);
    setTimeout(function(){
        console.log('delay ' + delay + ' ms');
        resolve(delay);
    }, delay);
});

async function main(){
    await Promise.all([randomDelay(), randomDelay()]);
    console.log('pass');
    await randomDelay();
}

main();
n use 7.6.0 async.js

你會看到類似下面這樣的輸出結果,說明我們不需要 babel,直接可以用 Node 7.6.0 支持 async/await 了。

delay 252 ms
delay 964 ms
pass
delay 536 ms

最后,我們可以創建一個快捷的命令:

echo alias node7="\"n use 7.6.0 --harmony-async-await\"" >> ~/.bashrc
source ~/.bashrc

這樣我們就可以愉快地使用 node v7.x.x 運行我們的 js 了:

node7 async.js

 

來自:https://www.h5jun.com/post/manage_node_with_n.html

 

 本文由用戶 xutw4318 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!