快速搭建 Node.js 開發環境html
若是你想長期作 node 開發, 或者想快速更新 node 版本, 或者想快速切換 node 版本,
那麼在非 Windows(如 osx, linux) 環境下, 請使用 nvm 來安裝你的 node 開發環境, 保持系統的乾淨.
若是你使用 Windows 作開發, 那麼你可使用 nvmw 來替代 nvmnode
若是你是 windows 環境開發, 請跳過這裏, 直接查看下一章.linux
直接從 github clone nvm 到本地, 這裏假設你們都使用 ~/git 目錄存放 git 項目:git
$ cd ~/git $ git clone https://github.com/creationix/nvm.git
配置終端啓動時自動執行 source ~/git/nvm/nvm.sh,
在 ~/.bashrc, ~/.bash_profile, ~/.profile, 或者 ~/.zshrc 文件添加如下命令:github
export NVM_DIR="$HOME/.nvm" 執行以下命令重啓配置文件 source ~/.bash_profile.sh
從新打開你的終端, 輸入 nvmweb
$ nvm Node Version Manager Usage: nvm help Show this message nvm --version Print out the latest released version of nvm nvm install [-s] <version> Download and install a <version>, [-s] from source nvm uninstall <version> Uninstall a version nvm use <version> Modify PATH to use <version> nvm run <version> [<args>] Run <version> with <args> as arguments nvm current Display currently activated version nvm ls List installed versions nvm ls <version> List versions matching a given description nvm ls-remote List remote versions available for install nvm deactivate Undo effects of NVM on current shell nvm alias [<pattern>] Show all aliases beginning with <pattern> nvm alias <name> <version> Set an alias named <name> pointing to <version> nvm unalias <name> Deletes the alias named <name> nvm copy-packages <version> Install global NPM packages contained in <version> to current version Example: nvm install v0.10.24 Install a specific version number nvm use 0.10 Use the latest available 0.10.x release nvm run 0.10.24 myApp.js Run myApp.js using node v0.10.24 nvm alias default 0.10.24 Set default node version on a shell Note: to remove, delete or uninstall nvm - just remove ~/.nvm, ~/.npm and ~/.bower folders
nvm 默認是從 http://nodejs.org/dist/ 下載的, 國外服務器, 必然很慢,
好在 nvm 以及支持從鏡像服務器下載包, 因而咱們能夠方便地從七牛的 node dist 鏡像下載:shell
$ NVM_NODEJS_ORG_MIRROR=https://npm.taobao.org/mirrors/node nvm install 4
因而你就會看到一段很是快速進度條:npm
######################################################################## 100.0% Now using node v4.3.2
若是你不想每次都輸入環境變量 NVM_NODEJS_ORG_MIRROR, 那麼我建議你加入到 .bashrc 文件中:windows
# nvm export NVM_NODEJS_ORG_MIRROR=https://npm.taobao.org/mirrors/node source ~/git/nvm/nvm.sh
而後你能夠繼續很是方便地安裝各個版本的 node 了, 你能夠查看一下你當前已經安裝的版本:瀏覽器
$ nvm ls nvm v0.8.26 v0.10.26 v0.11.11 -> v4.3.2
nvm 默認是從 http://nodejs.org/dist/ 下載的, 國外服務器, 必然很慢,
npm也是從國外服務器下載的,基本下載不下來
好在 nvm 以及支持從鏡像服務器下載包, 因而咱們能夠方便地從淘寶的 node dist 鏡像下載:
set "NVMW_NODEJS_ORG_MIRROR=https://npm.taobao.org/mirrors/node" set "NVMW_NPMJS_COM_MIRROR=https://npm.taobao.org/mirrors/npm" nvm install 4.3.2
若是你不想每次都輸入環境變量 NVMW_NODEJS_ORG_MIRROR, 那麼我建議你在全局環境變量中增長它.
而後你能夠繼續很是方便地安裝各個版本的 node 了, 你能夠查看一下你當前已經安裝的版本:
$ nvm list 5.8.0 5.4.0 * 5.10.1 (Currently using 64-bit executable) 5.0.0
設置npm的獲取地址
npm config set registry https://registry.npm.taobao.org
若是想升級npm自身,則會遇到一點問題,由於nodejs附帶了npm,所以沒法全局升級npm,須要在nodejs的安裝目錄下局部升級npm:
D: cd "nodejs" npm update npm --registry=https://registry.npm.taobao.org
npm使用國內鏡像安裝cnpm,能夠安裝任何包
$ npm install -g cnpm --registry=https://registry.npm.taobao.org
同理 nvm , npm 默認是從國外的源獲取和下載包信息, 不慢才奇怪.
能夠經過簡單的 ---registry 參數, 使用國內的鏡像 https://registry.npm.taobao.org :
$ npm --registry=https://registry.npm.taobao.org install koa
因而屏幕又嘩啦嘩啦地一大片輸出:
$ npm --registry=https://registry.npm.taobao.org install koa npm http GET https://registry.npm.taobao.org/koa npm http 200 https://registry.npm.taobao.org/koa ... npm http 200 https://registry.npm.taobao.org/negotiator npm http 200 https://registry.npm.taobao.org/keygrip koa[@0](/user/0).5.2 node_modules/koa ├── koa-compose[@2](/user/2).2.0 ├── statuses[@1](/user/1).0.2 ├── finished[@1](/user/1).1.1 ├── escape-html[@1](/user/1).0.1 ├── only[@0](/user/0).0.2 ├── debug[@0](/user/0).8.0 ├── fresh[@0](/user/0).2.2 ├── type-is[@1](/user/1).0.1 ├── delegates[@0](/user/0).0.3 ├── mime[@1](/user/1).2.11 ├── co[@3](/user/3).0.5 ├── accepts[@1](/user/1).0.1 (negotiator[@0](/user/0).4.2) └── cookies[@0](/user/0).4.0 (keygrip[@1](/user/1).0.0)
可是畢竟鏡像跟官方的 npm 源仍是會有一個同步時間差別, 目前 cnpm 的默認同步時間間隔是 15 分鐘.
若是你是模塊發佈者, 或者你想立刻同步一個模塊, 那麼推薦你安裝 cnpm cli:
$ npm --registry=https://registry.npm.taobao.org install cnpm -g
經過 cnpm 命令行, 你能夠快速同步任意模塊:
$ cnpm sync koa connect mocha
呃, 我就是不想安裝 cnpm cli 怎麼辦? 哈哈, 早就想到你會這麼懶了, 因而咱們還有一個 web 頁面:
例如我想立刻同步 koa, 直接打開瀏覽器: https://npm.taobao.org/sync/koa
或者你是命令行控, 經過 open 命令打開:
$ open https://npm.taobao.org/sync/koa
若是你安裝的模塊依賴了 C++ 模塊, 須要編譯, 確定會經過 node-gyp 來編譯,
node-gyp 在第一次編譯的時候, 須要依賴 node 源代碼, 因而又會去 node dist 下載,
因而你們又會吐槽, 怎麼 npm 安裝這麼慢…
好吧, 因而又要提到 --disturl 參數, 經過七牛的鏡像來下載:
$ npm --registry=https://registry.npm.taobao.org --disturl=https://npm.taobao.org/mirrors/node install microtime
再次要提到 cnpm cli, 它已經默認將 --registry 和 --disturl 都配置好了, 誰用誰知道
.
寫到這裏, 就更快疑惑那些不想安裝 cnpm cli 又吐槽 npm 慢的同窗是基於什麼考慮不在本地安裝一個 cnpm 呢?
注意:
nvm切換nodejs的時候,要用自帶的cmd切換,不要用git-bash
nodejs安裝完命令沒法使用,這是由於全局目錄沒有在環境變量裏,加上就行了
Path += C:\Users\Administrator\AppData\Roaming\npm;