开发nodejs前需要知道的一些东西
ffzhxh
8年前
<h2>@#$SDFG$DEW#E@!EXWT#ߥ®™∞¡¥</h2> <ul> <li>github无法访问下不了</li> <li>node.js环境搭建好慢</li> <li>npm慢死</li> <li>bower慢</li> <li>BLABLABLA……</li> </ul> <h2>node.js环境快速搭建管理</h2> <p>直接从 github clone nvm 到本地, 这里假设大家都使用 ~/git 目录存放 git 项目:</p> <pre> $ cd ~/git $ git clone https://github.com/creationix/nvm.git</pre> <p>配置终端启动时自动执行 source ~/git/nvm/nvm.sh ,</p> <p>在 ~/.bashrc, ~/.bash_profile, ~/.profile, 或者 ~/.zshrc 文件添加以下命令:</p> <pre> $ source ~/git/nvm/nvm.sh</pre> <p>nvm 默认是从 <a href="/misc/goto?guid=4959672280872421189" rel="nofollow,noindex">http://nodejs.org/dist/</a> 下载的, 国外服务器, 必然很慢,</p> <p>好在 nvm 以及支持从镜像服务器下载包, 于是我们可以方便地从七牛的 node dist 镜像下载:</p> <pre> $ NVM_NODEJS_ORG_MIRROR=https://npm.taobao.org/dist nvm install 0.11.11</pre> <p>于是你就会看到一段非常快速进度条:</p> <pre> ######################################################################## 100.0% Now using node v0.11.11</pre> <p>如果你不想每次都输入环境变量 NVM_NODEJS_ORG_MIRROR, 那么我建议你加入到 .bashrc 文件中:</p> <pre> # nvm export NVM_NODEJS_ORG_MIRROR=https://npm.taobao.org/dist source ~/git/nvm/nvm.sh</pre> <p>nvm 的具体使用我在这里就不多说了,其他人讲的挺多了,官网也很详尽,或者直接nvm回车查看帮助</p> <h2>使用镜像或者cnpm加速npm</h2> <p>同理 nvm , npm 默认是从国外的源获取和下载包信息, 不慢才奇怪.</p> <p>可以通过简单的 ---registry 参数, 使用国内的镜像 <a href="/misc/goto?guid=4959672280956016232" rel="nofollow,noindex">https://registry.npm.taobao.org</a> :</p> <pre> $ npm --registry=https://registry.npm.taobao.org install nrm</pre> <p>当然, 每次都要输入那么长串的 registry url 的话, 实在太麻烦, 可以使用 nrm 这个模块来切换镜像:</p> <pre> $ nrm ls // 对比各个镜像的访问速度 $ nrm test // 使用淘宝的镜像 $ nrm use taobao</pre> <p>但是毕竟镜像跟官方的 npm 源还是会有一个同步时间差异, 目前 cnpm 的默认同步时间间隔是 15 分钟.如果你是模块发布者, 或者你想马上同步一个模块, 那么推荐你安装 cnpm cli:</p> <pre> npm install cnpm -g</pre> <p>通过 cnpm 命令行, 你可以快速同步任意模块:</p> <pre> $ cnpm sync koa connect mocha</pre> <p>呃, 我就是不想安装 cnpm cli 怎么办? 哈哈, 早就想到你会这么懒了, 于是我们还有一个 web 页面:</p> <p>例如我想马上同步 koa, 直接打开浏览器: <a href="/misc/goto?guid=4959672281041016161" rel="nofollow,noindex">https://npm.taobao.org/sync/koa</a></p> <p>或者你是命令行控, 通过 open 命令打开:</p> <pre> $ open https://npm.taobao.org/sync/koa</pre> <p>如果你安装的模块依赖了 C++ 模块, 需要编译, 肯定会通过 node-gyp 来编译,</p> <p>node-gyp 在第一次编译的时候, 需要依赖 node 源代码, 于是又会去 node dist 下载,</p> <p>于是大家又会吐槽, 怎么 npm 安装这么慢…</p> <p>好吧, 于是又要提到 —disturl 参数, 通过七牛的镜像来下载:</p> <pre> $ npm --registry=https://registry.npm.taobao.org --disturl=https://npm.taobao.org/dist install microtime</pre> <p>再次要提到 cnpm cli, 它已经默认将 —registry 和 —disturl 都配置好了, 用了就知道了.</p> <p>GitHub好慢啊</p> <p>好了, 看到这里大家应该对 node 和 npm 已经没有速度慢的问题了.</p> <p>github 慢, 或者说是它的资源 host 被堵而已, 大家可以通过简单的 hosts 映射解决:</p> <p>185.31.16.184 github.global.ssl.fastly.net</p> <p>国内taobao镜像列表</p> <ul> <li>开源镜像: <a href="/misc/goto?guid=4959672281126985487" rel="nofollow,noindex">http://npm.taobao.org/mirrors</a></li> <li>iojs.org/dist 镜像: <a href="/misc/goto?guid=4959672281197267851" rel="nofollow,noindex">http://npm.taobao.org/mirrors/iojs</a></li> <li>nodejs.org/dist 镜像: <a href="/misc/goto?guid=4959672281275382597" rel="nofollow,noindex">http://npm.taobao.org/mirrors/node</a></li> <li>phantomjs 镜像: <a href="/misc/goto?guid=4959672281358319229" rel="nofollow,noindex">http://npm.taobao.org/mirrors/phantomjs</a></li> <li>ChromeDriver 镜像: <a href="/misc/goto?guid=4959672281437465725" rel="nofollow,noindex">http://npm.taobao.org/mirrors/chromedriver</a></li> <li>Node.js 文档镜像: <a href="/misc/goto?guid=4959672281517184187" rel="nofollow,noindex">http://npm.taobao.org/mirrors/node/latest/docs/api/index.html</a></li> <li>io.js 文档镜像: <a href="/misc/goto?guid=4959672281596662018" rel="nofollow,noindex">http://npm.taobao.org/mirrors/iojs/latest/doc/api/index.html</a></li> </ul> <p>bower添加代理</p> <p>修改 .bowerrc 文件(如无则新增):</p> <pre> { "proxy": "http://hx.gy:1080", "https-proxy": "http://hx.gy:1080" }</pre> <p>代理</p> <p>你懂的能访问就好,不懂多搜就懂</p> <p>来自: http://www.webhek.com/tips-for-nodejs-dev</p>