1. nodist 是什么?
nodist 是一個 node 版本管理工具。
2. nodist 可以做什么?
可以幫你管理項目使用的node版本,不必再為了項目使用的 node 版本不同而每次打開項目都去跑命令切換 node 版本了。
3. nodist 的下載地址:https://github.com/nullivex/nodist
4. nodist 的安裝使用過程中,本人遇到的【坑】
(1)安裝新的node版本,並將其設置為 global 版本時,運行【npm】命令報錯。

原因:可能是網絡不好,因為 nodist npm xxx 下載 npm 的網址是 https://codeload.github.com/,我們本地沒有下載完畢就終止了下載。
解決辦法: 靜靜地等待,或者你可以配置網絡代理。
(2)npm 版本不支持 node 版本 (如果需要查看 npm 的最新版本 npm view npm version,查看所有 npm 的版本 npm view npm versions)

原因:nodist npm xxx 更換版本之后npm版本是全局的,也就是說你再更換 node 版本后,npm 版本不會跟着 node 版本更改而更改。
解決辦法:nodist xxx 之后 運行一下 nodist npm match,將【 npm 版本】切換到最適合於 更換后的【node】的版本
(3)node 下載慢,不知道如何更改 node 下載地址。
原因:nodist 默認 node 下載地址是 https://nodejs.org/dist 。
解決辦法:1. 在 nodist 安裝目錄下有個 cli.js 文件,編輯該文件,大概在 第 72行左右的樣子,將
var distUrl = process.env.NODIST_NODE_MIRROR || 'https://nodejs.org/dist';
var iojsDistUrl = process.env.NODIST_IOJS_MIRROR || 'https://iojs.org/dist';
改成
· var distUrl = 'https://npm.taobao.org/mirrors/node';
var distUrl = 'https://npm.taobao.org/mirrors/iojs';
2.在全局變量里面添加
· 
NODIST_NODE_MIRROR 值:https://npm.taobao.org/mirrors/node
NODIST_IOJS_MIRROR 值:https://npm.taobao.org/mirrors/iojs
5. 注意點:
(1)任何 node 版本下安裝的全局模塊都是全局的,不會因為切換node版本就需要重新安裝(和 nvm-windows相比這是非常好的一個地方)。
(2)npm 也是全局的,設置了之后不會跟隨 node 版本的切換而自動匹配相應的的 npm 版本。上面提到過一句。(但是不論你在 哪一個 node 版本下運行了 nodist npm match之后,各個node版本的npm版本都會匹配成最匹配的版本)
原因(我猜測): npm版本會進行判定,首先判定指定了全局npm版本沒有,也就是運行了 nodist npm xxx 沒有,如果運行了,就相當於指定了全局 npm 版本,那么 npm的版本不會隨着node版本切換而改變。
如果沒有指定全局npm版本,就會找該版本最匹配的 npm 版本(如果已經下載,否則 Couldn't find any matching version) 。
(3)npm 任何一個版本下設置的變量,比如 registry,設置了之后就適用於全局,就算是項目的 local 中的 npm 也會被影響,因為它們是使用的同一個配置文件。
(4)全局下的 npm 的版本更改不會使得項目下的 local 中的 npm 的版本跟着變動。(除非 node版本一樣時 npm 版本改變 )
6. 如果想要明白 nodist 下有哪些命令可以用,怎么用,用法是什么。可以使用 nodist --help 命令查看。
各位兄弟姐妹們,這就是本人對於 nodist 的使用心得。 有寫的不對或者需要改進的地方歡迎留言討論 ^_^
