[转] 使用NVM快速搭建NODE开发环境
export NVM_NODEJS_ORG_MIRROR=https://npm.taobao.org/mirrors/node
本文主要介绍最近自己碰到的几个坑以及搜索到的相应解决方案:
快速搭建 Node.js 开发环境
如果你想长期做 node 开发, 或者想快速更新 node 版本, 或者想快速切换 node 版本, 那么请使用 nvm 来安装你的 node 开发环境, 保持系统的干净.
git clone nvm
直接从 github clone nvm 到本地, 这里假设大家都使用~/git目录存放 git 项目:
$ cd ~/git$ git clone https://github.com/creationix/nvm.git
配置终端启动时自动执行source ~/git/nvm/nvm.sh, 在~/.bashrc, ~/.bash_profile, ~/.profile, 或者~/.zshrc文件添加以下命令:
source ~/git/nvm/nvm.sh
重新打开你的终端, 输入nvm
Node Version ManagerUsage:nvm help Show this messagenvm --version Print out the latest released version of nvmnvm install [-s] <version> Download and install a <version>, [-s] from sourcenvm uninstall <version> Uninstall a versionnvm use <version> Modify PATH to use <version>nvm run <version> [<args>] Run <version> with <args> as argumentsnvm current Display currently activated versionnvm ls List installed versionsnvm ls <version> List versions matching a given descriptionnvm ls-remote List remote versions available for installnvm deactivate Undo effects of NVM on current shellnvm 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 versionExample:nvm install v0.10.24 Install a specific version numbernvm use 0.10 Use the latest available 0.10.x releasenvm run 0.10.24 myApp.js Run myApp.js using node v0.10.24nvm alias default 0.10.24 Set default node version on a shellNote:to remove, delete or uninstall nvm - just remove ~/.nvm, ~/.npm and ~/.bower folders`
使用 npm 安装包失败
由于GFW的强大威慑力,npm 好多安装包很慢或者直接安装error,相关解决方法主要有以下三种:
- 通过config命令.
npm config set registry http://registry.cnpmjs.orgnpm info underscore (如果上面配置正确这个命令会有字符串response)
- 命令行指定.
npm --registry http://registry.cnpmjs.org info underscore
- 编辑
~/.npmrc加入下面内容.
registry = http://registry.cnpmjs.org
通过 nvm 安装任意版本的 node
nvm 默认是从 http://nodejs.org/dist/ 下载的, 国外服务器, 必然很慢, 好在 nvm 以及支持从镜像服务器下载包, 于是我们可以方便地从七牛的 node dist 镜像下载:
$ NVM_NODEJS_ORG_MIRROR=http://dist.u.qiniudn.com nvm install 0.11.11
于是你就会看到一段非常快速进度条:
######################################################################## 100.0%Now using node v0.11.11
如果你不想每次都输入环境变量 NVM_NODEJS_ORG_MIRROR, 那么我建议你加入到 .bashrc 文件中:
# nvmexport NVM_NODEJS_ORG_MIRROR=http://dist.u.qiniudn.comsource ~/git/nvm/nvm.sh
然后你可以继续非常方便地安装各个版本的 node 了, 你可以查看一下你当前已经安装的版本:
$ nvm lsnvmv0.8.26v0.10.26v0.11.11-> v0.11.12
使用 cnpm 加上 npm
同理 nvm , npm 默认是从国外的源获取和下载包信息, 不慢才奇怪. 可以通过简单的 ·---registry· 参数, 使用国内的镜像 http://r.cnpmjs.org :
$ npm --registry=http://r.cnpmjs.org install koa
于是屏幕又哗啦哗啦地一大片输出:
$ npm --registry=http://r.cnpmjs.org install koanpm http GET http://r.cnpmjs.org/koanpm http 200 http://r.cnpmjs.org/koanpm http GET http://r.cnpmjs.org/koa/download/koa-0.5.2.tgznpm http 200 http://r.cnpmjs.org/koa/download/koa-0.5.2.tgznpm http GET http://r.cnpmjs.org/escape-htmlnpm http GET http://r.cnpmjs.org/statuses...npm http 200 http://r.cnpmjs.org/negotiatornpm http 200 http://r.cnpmjs.org/keygripkoa@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 源还是会有一个同步时间差异, 目前 cnpm 的默认同步时间间隔是 15 分钟. 如果你是模块发布者, 或者你想马上同步一个模块, 那么推荐你安装 cnpm cli:
$ npm --registry=http://r.cnpmjs.org install cnpm -g
通过 cnpm 命令行, 你可以快速同步任意模块:
$ cnpm sync koa connect mocha
呃, 我就是不想安装 cnpm cli 怎么办? 哈哈, 早就想到你会这么懒了, 于是我们还有一个 web 页面: 例如我想马上同步 koa, 直接打开浏览器: http://cnpmjs.org/sync/koa 或者你是命令行控, 通过 open 命令打开:
$ open http://cnpmjs.org/sync/koa
再次要提到 cnpm cli, 它已经默认将 --registry 和 --disturl 都配置好了, 谁用谁知道. 写到这里, 就更快疑惑那些不想安装 cnpm cli 又吐槽 npm 慢的同学是基于什么考虑不在本地安装一个 cnpm 呢?
访问github 好慢或者github样式错乱
好了, 看到这里大家应该对 node 和 npm 已经没有速度慢的问题了. github 慢, 或者说是它的资源 host 被堵而已, 大家可以通过简单的 hosts 映射解决:
185.31.16.184 github.global.ssl.fastly.net
[转] 使用NVM快速搭建NODE开发环境的更多相关文章
- CentOS 7快速搭建Nodejs开发环境
Node.js是一个事件驱动I/O服务端JavaScript环境,基于Google的V8引擎,V8引擎执行Javascript的速度非常快,性能非常好.学习Nodejs首先需要会安装环境.这里我介绍如 ...
- Linux下快速搭建php开发环境
php开发环境快速搭建 一.Linux下快速搭建php开发环境 1.安装XAMPP for Linux XAMPP(Apache+MySQL+PHP+PERL)是一个功能强大的建站集成软件包,使用XA ...
- Windows下快速搭建安卓开发环境android-studio
Windows下快速搭建安卓开发环境android-studio 发布时间:2018-01-18 来源:网络 上传者:用户 关键字: 安卓 搭建 Android Windows 快速 环境 Studi ...
- 【IntelliJ IDEA新手入门】IDEA如何快速搭建Java开发环境
作为IntelliJ IDEA mac新手,IDEA如何快速搭建Java开发环境呢? 今天小编就给大家带来了IntelliJ IDEA mac使用教程,想知道IDEA如何快速搭建Java开发环境?那就 ...
- 利用CodeBlocks结合freeglut快速搭建OpenGL开发环境
利用CodeBlocks结合freeglut快速搭建OpenGL开发环境 2018-12-19 10:15:48 再次超越梦想 阅读数 180更多 分类专栏: 我的开发日记 版权声明:本文为博主原 ...
- IDEA如何快速搭建Java开发环境
作为IntelliJ IDEA mac新手,IDEA如何快速搭建Java开发环境呢?今天小编就给大家带来了IntelliJ IDEA mac使用教程,想知道IDEA如何快速搭建Java开发环境? 全局 ...
- 【转】使用nvm快速搭建 Node.js 开发环境
原文链接:http://www.cnblogs.com/shuoer/p/7802891.html 快速搭建 Node.js 开发环境 如果你想长期做 node 开发, 或者想快速更新 node 版本 ...
- 五分钟用Docker快速搭建Go开发环境
挺早以前在我写过一篇用 `Docker`搭建LNMP开发环境的文章:[用Docker搭建Laravel开发环境](http://mp.weixin.qq.com/s?__biz=MzUzNTY5MzU ...
- 使用Docker快速搭建PHP开发环境
最近有个同事找过来,希望我对在很早之前写的一个PHP网站上增加一些功能,当时开发使用xampp构建的本地开发环境,但是现在我的笔记本电脑已经更新,没有当时的开发环境.本着尽量不往电脑上装无用软件的原则 ...
随机推荐
- silverlight中DataGrid数据高亮显示
效果如图所示, <UserControl xmlns:controls="clr-namespace:System.Windows.Controls;assembly=System.W ...
- 基于page的简单页面推送技术
我们可以先看下简单效果,打开2个页面可以看到推送效果 服务端我们只需要下面一个方法 using System; using System.Collections.Generic; using Syst ...
- iOS:翻页效果
// // main.m // Hello // // Created by lishujun on 14-8-28. // Copyright (c) 2014年 lishujun. All rig ...
- INI解析模块的C++实现
INI文件格式是某些平台或软件上的配置文件的非正式标准,以节(section)和键(key)构成,常用于微软Windows操作系统中. 节(section) 节用方括号括起来,单独占一行,例如: [s ...
- UFLDL教程(四)之Softmax回归
关于Andrew Ng的machine learning课程中,有一章专门讲解逻辑回归(Logistic回归),具体课程笔记见另一篇文章. 下面,对Logistic回归做一个简单的小结: 给定一个待分 ...
- 设置表格td超出内容后截取并以...显示
.ellipsis { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } <table style=" ...
- 微软HoloLens技术解谜
HoloLens 是什么? HoloLens 是微软发布的可穿戴式增强现实计算设备,它拥有这么几个关键要素: 它是增强现实产品,即 Augmented Reality(AR),AR 技术将计算机生成的 ...
- WebService:设置服务器提供SOAP1.2的服务
1,访问通过cxf发布的服务 (1)与之前一样,同样可以通过在本地通过wsdl文件和命令行生成Java文件来访问服务. 但是我们既然使用了cxf发布,就要通过cxf的工具生成访问.可以通过cxf目录的 ...
- druid配置(转)
java程序很大一部分要操作数据库,为了提高性能操作数据库的时候,有不得不使用数据库连接池.数据库连接池有很多选择,c3p.dhcp.proxool等,druid作为一名后起之秀,凭借其出色的性能,也 ...
- android中保存一个ArrayList到SharedPreferences的方法
保存: public static boolean saveArray() { SharedPrefernces sp=SharedPrefernces.getDefaultSharedPrefern ...