博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[转] 使用NVM快速搭建NODE开发环境
阅读量:6852 次
发布时间:2019-06-26

本文共 4068 字,大约阅读时间需要 13 分钟。

export NVM_NODEJS_ORG_MIRROR=https://npm.taobao.org/mirrors/node

 

本文主要介绍最近自己碰到的几个坑以及搜索到的相应解决方案:

  • 如何快速搭建 开发环境.
  • 使用 安装一些包速度很慢或者失败.
  • 无法打开或者样式错乱.

如果你想长期做 开发, 或者想快速更新 版本, 或者想快速切换 版本, 那么请使用 来安装你的 开发环境, 保持系统的干净.

直接从 github clone nvm 到本地, 这里假设大家都使用~/git目录存放 git 项目:

  1. $ cd ~/git
  2. $ git clone https://github.com/creationix/nvm.git

配置终端启动时自动执行source ~/git/nvm/nvm.sh, 在~/.bashrc, ~/.bash_profile, ~/.profile, 或者~/.zshrc文件添加以下命令:

  1. source ~/git/nvm/nvm.sh

重新打开你的终端, 输入nvm

  1. Node Version Manager
  2. Usage:
  3. nvm help Show this message
  4. nvm --version Print out the latest released version of nvm
  5. nvm install [-s] <version> Download and install a <version>, [-s] from source
  6. nvm uninstall <version> Uninstall a version
  7. nvm use <version> Modify PATH to use <version>
  8. nvm run <version> [<args>] Run <version> with <args> as arguments
  9. nvm current Display currently activated version
  10. nvm ls List installed versions
  11. nvm ls <version> List versions matching a given description
  12. nvm ls-remote List remote versions available for install
  13. nvm deactivate Undo effects of NVM on current shell
  14. nvm alias [<pattern>] Show all aliases beginning with <pattern>
  15. nvm alias <name> <version> Set an alias named <name> pointing to <version>
  16. nvm unalias <name> Deletes the alias named <name>
  17. nvm copy-packages <version> Install global NPM packages contained in <version> to current version
  18. Example:
  19. nvm install v0.10.24 Install a specific version number
  20. nvm use 0.10 Use the latest available 0.10.x release
  21. nvm run 0.10.24 myApp.js Run myApp.js using node v0.10.24
  22. nvm alias default 0.10.24 Set default node version on a shell
  23. Note:
  24. to remove, delete or uninstall nvm - just remove ~/.nvm, ~/.npm and ~/.bower folders`

由于GFW的强大威慑力,npm 好多安装包很慢或者直接安装error,相关解决方法主要有以下三种:

  • 通过config命令.
  1. npm config set registry http://registry.cnpmjs.org
  2. npm info underscore (如果上面配置正确这个命令会有字符串response
  • 命令行指定.
  1. npm --registry http://registry.cnpmjs.org info underscore
  • 编辑~/.npmrc加入下面内容.
  1. registry = http://registry.cnpmjs.org

nvm 默认是从 下载的, 国外服务器, 必然很慢, 好在 nvm 以及支持从镜像服务器下载包, 于是我们可以方便地从七牛的 node dist 镜像下载:

  1. $ NVM_NODEJS_ORG_MIRROR=http://dist.u.qiniudn.com nvm install 0.11.11

于是你就会看到一段非常快速进度条:

  1. ######################################################################## 100.0%
  2. Now using node v0.11.11

如果你不想每次都输入环境变量 NVM_NODEJS_ORG_MIRROR, 那么我建议你加入到 .bashrc 文件中:

  1. # nvm
  2. export NVM_NODEJS_ORG_MIRROR=http://dist.u.qiniudn.com
  3. source ~/git/nvm/nvm.sh

然后你可以继续非常方便地安装各个版本的 node 了, 你可以查看一下你当前已经安装的版本:

  1. $ nvm ls
  2. nvm
  3. v0.8.26
  4. v0.10.26
  5. v0.11.11
  6. -> v0.11.12

同理 nvm , npm 默认是从国外的源获取和下载包信息, 不慢才奇怪. 可以通过简单的 ·---registry· 参数, 使用国内的镜像 :

  1. $ npm --registry=http://r.cnpmjs.org install koa

于是屏幕又哗啦哗啦地一大片输出:

  1. $ npm --registry=http://r.cnpmjs.org install koa
  2. npm http GET http://r.cnpmjs.org/koa
  3. npm http 200 http://r.cnpmjs.org/koa
  4. npm http GET http://r.cnpmjs.org/koa/download/koa-0.5.2.tgz
  5. npm http 200 http://r.cnpmjs.org/koa/download/koa-0.5.2.tgz
  6. npm http GET http://r.cnpmjs.org/escape-html
  7. npm http GET http://r.cnpmjs.org/statuses
  8. ...
  9. npm http 200 http://r.cnpmjs.org/negotiator
  10. npm http 200 http://r.cnpmjs.org/keygrip
  11. koa@0.5.2 node_modules/koa
  12. ├── koa-compose@2.2.0
  13. ├── statuses@1.0.2
  14. ├── finished@1.1.1
  15. ├── escape-html@1.0.1
  16. ├── only@0.0.2
  17. ├── debug@0.8.0
  18. ├── fresh@0.2.2
  19. ├── type-is@1.0.1
  20. ├── delegates@0.0.3
  21. ├── mime@1.2.11
  22. ├── co@3.0.5
  23. ├── accepts@1.0.1 (negotiator@0.4.2)
  24. └── cookies@0.4.0 (keygrip@1.0.0)

但是毕竟镜像跟官方的 npm 源还是会有一个同步时间差异, 目前 cnpm 的默认同步时间间隔是 15 分钟. 如果你是模块发布者, 或者你想马上同步一个模块, 那么推荐你安装 cli:

  1. $ npm --registry=http://r.cnpmjs.org install cnpm -g

通过 cnpm 命令行, 你可以快速同步任意模块:

  1. $ cnpm sync koa connect mocha

呃, 我就是不想安装 cnpm cli 怎么办? 哈哈, 早就想到你会这么懒了, 于是我们还有一个 web 页面: 例如我想马上同步 koa, 直接打开浏览器: 或者你是命令行控, 通过 open 命令打开:

  1. $ open http://cnpmjs.org/sync/koa

再次要提到 cnpm cli, 它已经默认将 --registry--disturl 都配置好了, 谁用谁知道. 写到这里, 就更快疑惑那些不想安装 cnpm cli 又吐槽 npm 慢的同学是基于什么考虑不在本地安装一个 cnpm 呢?

好了, 看到这里大家应该对 node 和 npm 已经没有速度慢的问题了. github 慢, 或者说是它的资源 host 被堵而已, 大家可以通过简单的 hosts 映射解决:

  1. 185.31.16.184 github.global.ssl.fastly.net

转载于:https://www.cnblogs.com/qiangxia/p/5354777.html

你可能感兴趣的文章
一个简单系统的设计之争
查看>>
如何配置Kettle集群运行环境
查看>>
Jmeter分布式测试
查看>>
Centos6.9系统部分基础优化(更新时间2018/04/19)
查看>>
一次浏览器http请求的过程
查看>>
比较两个List的内容是否相等
查看>>
centos7 init
查看>>
php通过各种函数判断0和空
查看>>
基于easyui的文档管理系统springmvc+mybaits实现
查看>>
Chrome将证书透明度要求推迟至2018年
查看>>
jdbc的五大常见应用场景
查看>>
字符串
查看>>
剖析非同质化代币ERC721-全面解析ERC721标准
查看>>
Python八荣八耻
查看>>
华硕网络硬盘服务出问题!遭到中间人攻击
查看>>
java电子商务系统源码 Spring MVC+mybatis+spring cloud+spring boot+spring security
查看>>
Java 实现 给Excel模板赋值(直接打开表格赋值或者用自定义了名称的单元格(一块区域)赋值)...
查看>>
DataLakeAnalytics: 解析IP地址对应的国家城市地址的能力
查看>>
20181120上课截图
查看>>
FastReport教程:如何从命令行使用报表设计器和查看器
查看>>