Node.js,What is?
Node.js 就是運(yùn)行在服務(wù)器端的Javascript随常。
Node.js 是基于 Chrome JavaScript 運(yùn)行時建立的一個平臺潜沦。
Node.js 是一個事件驅(qū)動I/O服務(wù)端JavaScript環(huán)境,基于Google的V8引擎绪氛,V8引擎執(zhí)行Javascript的速度非乘艏Γ快,性能非常好钞楼。
安裝 Node.js
快速搭建 Node.js 開發(fā)環(huán)境以及加速 npm
解決以下問題:
- 如何快速搭建 node 開發(fā)環(huán)境
- npm 超慢
- github 無法打開的問題
快速搭建Node.js開發(fā)環(huán)境
如果你想長期做 node 開發(fā), 或者想快速更新 node 版本, 或者想快速切換 node 版本,那么在非 Windows(如 osx, linux) 環(huán)境下, 請使用 nvm 來安裝你的 node 開發(fā)環(huán)境, 保持系統(tǒng)的干凈.
如果你使用 Windows 做開發(fā), 那么你可以使用 nvmw 來替代 nvm
osx, linux 環(huán)境
這里我使用的是git 喇闸,從github 倉庫下載到本地
直接從 github clone nvm 到本地, 這里假設(shè)大家都使用 ~/git 目錄存放 git 項目:
$ cd ~/git
$ git clone https://github.com/creationix/nvm.git
配置終端啟動時自動執(zhí)行 source ~/git/nvm/nvm.sh,
在 ~/.bashrc, ~/.bash_profile, ~/.profile, 或者 ~/.zshrc 文件添加以下命令:
source ~/git/nvm/nvm.sh
重新打開你的終端, 輸入 nvm
$ 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 安裝任意版本的node
nvm 默認(rèn)是從 http://nodejs.org/dist/ 下載的, 國外服務(wù)器, 必然很慢,好在 nvm 以及支持從鏡像服務(wù)器下載包, 于是我們可以方便地從七牛的 node dist 鏡像下載:
$ NVM_NODEJS_ORG_MIRROR=https://npm.taobao.org/mirrors/node nvm install 4
于是你就會看到一段非嘲懒眨快速進(jìn)度條:
######################################################################## 100.0%
Now using node v4.4.7
然后你可以繼續(xù)非常方便地安裝各個版本的 node 了, 你可以查看一下你當(dāng)前已經(jīng)安裝的版本:
$ nvm ls
nvm
v0.8.26
v0.10.26
v0.11.11
-> v4.4.7
使用 cnpm 加速 npm
同理 nvm , npm 默認(rèn)是從國外的源獲取和下載包信息, 不慢才奇怪.可以通過簡單的---registry
參數(shù), 使用國內(nèi)的鏡像 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 的默認(rèn)同步時間間隔是 15 分鐘.如果你是模塊發(fā)布者, 或者你想馬上同步一個模塊, 那么推薦你安裝 cnpm cli:
$ npm --registry=https://registry.npm.taobao.org install cnpm -g
通過 cnpm 命令行, 你可以快速同步任意模塊:
$ cnpm sync koa connect mocha
github 好慢
好了, 看到這里大家應(yīng)該對 node 和 npm 已經(jīng)沒有速度慢的問題了.
github 慢, 或者說是它的資源 host 被堵而已, 大家可以通過簡單的 hosts 映射解決:
185.31.16.184 github.global.ssl.fastly.net