<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 495,comments - 227,trackbacks - 0
    http://fengmk2.com/blog/2014/03/node-env-and-faster-npm.html

    在公交車(chē)上刷微博,還是有很多同學(xué)在咨詢(xún):

    • 如何快速搭建 node 開(kāi)發(fā)環(huán)境
    • npm 超慢
    • github 無(wú)法打開(kāi)的問(wèn)題

    于是我覺(jué)得應(yīng)該寫(xiě)一篇文章解答所有這些起步問(wèn)題,讓新同學(xué)也能順順利利入門(mén)。

    快速搭建 Node.js 開(kāi)發(fā)環(huán)境

    如果你想長(zhǎng)期做 node 開(kāi)發(fā), 或者想快速更新 node 版本, 或者想快速切換 node 版本, 那么在非 Windows(如 osx, linux) 環(huán)境下, 請(qǐng)使用 nvm 來(lái)安裝你的 node 開(kāi)發(fā)環(huán)境, 保持系統(tǒng)的干凈.

    如果你使用 Windows 做開(kāi)發(fā), 那么你可以使用 nvmw 來(lái)替代 nvm

    osx, linux 環(huán)境

    如果你是 windows 環(huán)境開(kāi)發(fā), 請(qǐng)?zhí)^(guò)這里, 直接查看下一章.

    git clone nvm

    直接從 github clone nvm 到本地, 這里假設(shè)大家都使用 ~/git 目錄存放 git 項(xiàng)目:

    $ cd ~/git $ git clone https://github.com/cnpm/nvm.git 

    配置終端啟動(dòng)時(shí)自動(dòng)執(zhí)行 source ~/git/nvm/nvm.sh, 在 ~/.bashrc, ~/.bash_profile, ~/.profile, 或者 ~/.zshrc 文件添加以下命令:

    source ~/git/nvm/nvm.sh 

    重新打開(kāi)你的終端, 輸入 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 

    通過(guò) nvm 安裝任意版本的 node

    $ nvm install 0.12.0 

    于是你就會(huì)看到一段非常快速進(jìn)度條:

    ######################################################################## 100.0% Now using node v0.12.0 

    還可以直接安裝 iojs 各個(gè)版本

    $ nvm install iojs 

    你可以繼續(xù)非常方便地安裝各個(gè)版本的 node 了, 你可以查看一下你當(dāng)前已經(jīng)安裝的版本:

    $ nvm ls-remote          nvm      v0.8.26     v0.10.26     v0.11.16 ->  v0.12.0 

    windows 環(huán)境

    git clone nvmw

    直接從 github clone nvmw 到本地, 這里假設(shè)大家都使用 d:\git 目錄存放 git 項(xiàng)目:

    $ d: $ cd git $ git clone https://github.com/cnpm/nvmw.git 

    設(shè)置 d:\git\nvmw 目錄到你的 PATH 環(huán)境變量中:

    set "PATH=d:\git\nvmw;%PATH%" 

    重新打開(kāi)你的終端, 輸入 nvmw

    $ nvmw  Usage:   nvmw help                    Show this message   nvmw install [version]       Download and install a [version]   nvmw uninstall [version]     Uninstall a [version]   nvmw use [version]           Modify PATH to use [version]   nvmw ls                      List installed versions  Example:   nvmw install v0.6.0          Install a specific version number   nvmw use v0.6.0              Use the specific version 

    通過(guò) nvmw 安裝任意版本的 node

    $ nvmw install 0.12.0 

    于是你就會(huì)看到一段非??焖龠M(jìn)度條:

    ######################################################################## 100.0% Now using node v0.12.0 

    安裝 iojs

    $ nvmw install iojs-1.4.2 

    然后你可以繼續(xù)非常方便地安裝各個(gè)版本的 node 了, 你可以查看一下你當(dāng)前已經(jīng)安裝的版本:

    $ nvmw ls  v0.10.26 v0.11.12 Current: v0.11.12 

    到此, 無(wú)論是 windows 環(huán)境, 還是 osx, linux 環(huán)境, 都能快速安裝多個(gè)版本的 node 了.

    使用 cnpm 加速 npm

    同理 nvm , npm 默認(rèn)是從國(guó)外的源獲取和下載包信息, 不慢才奇怪. 可以通過(guò)簡(jiǎn)單的 ---registry 參數(shù), 使用國(guó)內(nèi)的鏡像 http://registry.npm.taobao.org :

    $ npm install koa --registry=http://registry.npm.taobao.org 

    于是屏幕又嘩啦嘩啦地一大片輸出:

    $ npm install koa --registry=http://registry.npm.taobao.org ... koa@0.5.2 node_modules/koa ├── koa-compose@2.2.0 ├── statuses@1.0.2 ├── finished@1.1.1 ├── escape-html@1.0.1 ├── only@0.0.2 ├── debug@0.8.0 ├── fresh@0.2.2 ├── type-is@1.0.1 ├── delegates@0.0.3 ├── mime@1.2.11 ├── co@3.0.5 ├── accepts@1.0.1 (negotiator@0.4.2) └── cookies@0.4.0 (keygrip@1.0.0) 

    但是畢竟鏡像跟官方的 npm 源還是會(huì)有一個(gè)同步時(shí)間差異, 目前 cnpm 的默認(rèn)同步時(shí)間間隔是 10 分鐘. 如果你是模塊發(fā)布者, 或者你想馬上同步一個(gè)模塊, 那么推薦你安裝 cnpm cli:

    $ npm install cnpm -g --registry=http://registry.npm.taobao.org 

    通過(guò) cnpm 命令行, 你可以快速同步任意模塊:

    $ cnpm sync koa connect mocha 

    呃, 我就是不想安裝 cnpm cli 怎么辦? 哈哈, 早就想到你會(huì)這么懶了, 于是我們還有一個(gè) web 頁(yè)面:

    例如我想馬上同步 koa, 直接打開(kāi)瀏覽器: http://npm.taobao.org/sync/koa

    或者你是命令行控, 通過(guò) open 命令打開(kāi):

    $ open http://npm.taobao.org/sync/koa 

    如果你安裝的模塊依賴(lài)了 C++ 模塊, 需要編譯, 肯定會(huì)通過(guò) node-gyp 來(lái)編譯, node-gyp 在第一次編譯的時(shí)候, 需要依賴(lài) node 源代碼, 于是又會(huì)去 node dist 下載, 于是大家又會(huì)吐槽, 怎么 npm 安裝這么慢...

    好吧, 于是又要提到 --disturl 參數(shù), 通過(guò)中國(guó)鏡像來(lái)下載:

    $ npm install microtime \   --registry=http://registry.npm.taobao.org \   --disturl=http://npm.taobao.org/mirrors/node 

    再次要提到 cnpm cli, 它已經(jīng)默認(rèn)將 --registry--disturl 都配置好了, 誰(shuí)用誰(shuí)知道 . 寫(xiě)到這里, 就更快疑惑那些不想安裝 cnpm cli 又吐槽 npm 慢的同學(xué)是基于什么考慮不在本地安裝一個(gè) cnpm 呢?

    github 好慢

    好了, 看到這里大家應(yīng)該對(duì) node 和 npm 已經(jīng)沒(méi)有速度慢的問(wèn)題了.

    github 慢, 或者說(shuō)是它的資源 host 被堵而已, 大家可以通過(guò)簡(jiǎn)單的 hosts 映射解決:

    185.31.16.184 github.global.ssl.fastly.net 

    為何最近訪(fǎng)問(wèn)國(guó)外網(wǎng)站這么慢?

    聽(tīng)說(shuō)是 APCN2 又?jǐn)嗔? http://weibo.com/1415338244/ACTYkq8xK

    1

    有愛(ài)

    希望文本對(duì)你有用. :)

    posted on 2015-08-04 09:50 SIMONE 閱讀(336) 評(píng)論(0)  編輯  收藏 所屬分類(lèi): nodejs
    主站蜘蛛池模板: 亚洲国产精品不卡毛片a在线| 亚洲国产高清在线| 亚洲成人黄色网址| 中文字幕免费高清视频| 精品亚洲成a人片在线观看| 99视频在线免费看| 亚洲性69影院在线观看| 国产福利在线免费| 亚洲日韩乱码中文字幕| 国产一级淫片视频免费看| 羞羞视频免费网站入口| 亚洲一区日韩高清中文字幕亚洲| 久久亚洲精品视频| 91人成网站色www免费下载| 亚洲∧v久久久无码精品| 18禁美女黄网站色大片免费观看| 天天摸天天操免费播放小视频 | 亚洲av乱码一区二区三区| 四虎免费影院ww4164h| 亚洲黄色高清视频| 成人黄18免费视频| 黄色毛片视频免费| 亚洲av无码成人黄网站在线观看| 免费无遮挡无码视频在线观看 | 亚洲五月综合缴情婷婷| 女人18毛片免费观看| 国产亚洲综合一区二区三区| 亚洲天堂中文字幕在线| 一级毛片在线观看免费| 亚洲色在线无码国产精品不卡| 最近免费mv在线电影| 在线综合亚洲欧洲综合网站| 亚洲色欲久久久久综合网| 四虎影视成人永久免费观看视频| 亚洲国产综合精品中文字幕| 二区久久国产乱子伦免费精品| 亚洲AV无码一区二区三区在线观看 | 色播亚洲视频在线观看| 性色av免费观看| 中文字幕在线免费视频| 亚洲伦理中文字幕|