在公交车上刷微博,还是有很多同学在咨询:
于是我觉得应该写一篇文章解答所有这些起步问题,让新同学也能顺顺利利入门。
快速搭建 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
$ 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 默认是从 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
文件中:
# nvm
export NVM_NODEJS_ORG_MIRROR=http://dist.u.qiniudn.com
source ~/git/nvm/nvm.sh
然后你可以继续非常方便地安装各个版本的 node 了, 你可以查看一下你当前已经安装的版本:
$ nvm ls nvm v0.8.26 v0.10.26 v0.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 koa
npm http GET http://r.cnpmjs.org/koa
npm http 200 http://r.cnpmjs.org/koa
npm http GET http://r.cnpmjs.org/koa/download/koa-0.5.2.tgz
npm http 200 http://r.cnpmjs.org/koa/download/koa-0.5.2.tgz
npm http GET http://r.cnpmjs.org/escape-html
npm http GET http://r.cnpmjs.org/statuses
...
npm http 200 http://r.cnpmjs.org/negotiator
npm http 200 http://r.cnpmjs.org/keygrip
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 源还是会有一个同步时间差异, 目前 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
如果你安装的模块依赖了 C++ 模块, 需要编译, 肯定会通过 node-gyp 来编译,
node-gyp 在第一次编译的时候, 需要依赖 node 源代码, 于是又会去 node dist 下载,
于是大家又会吐槽, 怎么 npm 安装这么慢...
好吧, 于是又要提到 --disturl
参数, 通过七牛的镜像来下载:
$ npm --registry=http://r.cnpmjs.org --disturl=http://dist.u.qiniudn.com install microtime
再次要提到 cnpm cli, 它已经默认将 --registry
和 --disturl
都配置好了, 谁用谁知道
.
写到这里, 就更快疑惑那些不想安装 cnpm cli 又吐槽 npm 慢的同学是基于什么考虑不在本地安装一个 cnpm 呢?
github 好慢
好了, 看到这里大家应该对 node 和 npm 已经没有速度慢的问题了.
github 慢, 或者说是它的资源 host 被堵而已, 大家可以通过简单的 hosts 映射解决:
185.31.16.184 github.global.ssl.fastly.net
相关推荐
要开始学习 Node.js,我们首先需要搭建 Node.js 开发环境。Node.js 可以在多种平台上运行,包括 Windows、Mac 和 Linux。 在 Windows 和 Mac 平台上,我们可以使用 Node.js 官方提供的安装程序来安装 Node.js。在 ...
总的来说,Node.js 14.17.3版本的Windows x64安装包为开发者提供了一个强大且便捷的JavaScript开发环境,集成了npm,方便管理项目依赖。无论你是初学者还是经验丰富的开发者,这个版本都能满足你的开发需求。
5. **npm(Node Package Manager)**:Node.js的包管理器npm是最大的开源软件库之一,拥有海量的第三方模块,可以极大地加速开发过程。 6. **实时应用**:Node.js特别适合构建实时应用,如聊天室、协作编辑工具等,...
内容概要:本文详细介绍了Node.js的安装和环境配置方法。首先,文章指导用户如何从官方网站下载Node.js的不同版本...其他说明:本文不仅适用于初学者,也适合有一定开发经验但需要快速搭建Node.js开发环境的技术人员。
Node.js的生态非常丰富,提供了许多开源模块,这些模块可以帮助开发者快速搭建和开发各种类型的应用程序。开发者可以通过NPM(Node Package Manager)这个包管理器,轻松地安装和管理这些模块。 综上所述,Node.js...
本文详细介绍了如何在 Windows、macOS 和 Linux 系统上安装 Node.js,并配置开发环境。首先,访问 [Node.js 官方网站]...无论你是初学者还是经验丰富的开发者,本文都能帮助你快速搭建 Node.js 开发环境。
Node.js是一种基于Chrome V8引擎的JavaScript运行环境,它允许开发者在服务器端使用...总的来说,这个压缩包提供了在Windows系统上搭建Node.js开发环境所需的一切,无论是初学者还是经验丰富的开发者,都能从中受益。
Node.js是一种基于Chrome V8引擎的JavaScript运行环境,它允许开发者在服务器端使用JavaScript进行编程。这个技术的出现极大地拓宽了JavaScript的应用范围,不再局限于浏览器前端。以下是对标题和描述中涉及的知识点...
Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境,它让开发者能够在服务器端使用 JavaScript 进行编程,极大地推动了前后端一体化的开发模式。Node.js 使用了一个事件驱动、非阻塞I/O模型,使其轻量又高效...
搭建Node.js环境及项目初始化包括Node.js与npm的下载安装、配置国内镜像源、使用npm命令管理项目依赖、安装Express框架和mysql2数据库操作库、配置Nodemon以及启动Node.js应用等步骤。这些步骤构成Node.js项目开发的...
【Node.js开发Web后台服务1】是一篇关于使用Node.js构建Web服务的教程,主要涵盖了Node.js的基础知识、环境搭建、NPM管理、Express框架以及RESTful API等内容。以下是详细的知识点解析: 一、Node.js简介 Node.js是...
Node.js是一款基于Chrome V8引擎的JavaScript运行环境,它允许开发者在服务器端使用JavaScript编写程序,从而打破了JavaScript只能在浏览器中运行的传统。Node.js通过事件驱动、非阻塞I/O模型,使其轻量且高效,非常...
Node.js是一种基于Chrome V8引擎的JavaScript运行环境,它允许开发者...总之,Node.js的开源应用展示了其强大的功能和灵活性,通过深入研究这些项目,开发者可以不断提升自己在服务器端JavaScript开发方面的专业水平。
Node.js是一种开源、跨平台的JavaScript运行环境,它允许开发者在服务器端运行JavaScript代码。这个“node.js安装包”是64位版本,版本号为6.10.2,特别适合用来搭建Vue.js项目的运行环境。Vue.js是一款轻量级的前端...
下面我们将深入探讨如何搭建Node.js环境以及它的基本使用方法。 ### 一、Node.js环境搭建 1. **下载安装**: 首先,你需要访问Node.js的官方网站(https://nodejs.org/)下载适合你操作系统的安装包。对于Windows...
Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境,它让开发者能够使用 JavaScript 在服务器端编写可伸缩的网络应用。这个“Node.js-Node.js机器人平台”项目,显然旨在利用 Node.js 的特性来构建智能机器...
在课程学习中,开发者需要具备一定的基础,包括React开发环境的搭建,如使用create-react-app创建项目,理解和使用ES6的新特性,如let和const声明变量,箭头函数,对象和数组的扩展等。此外,还要了解如何扩展...
8. **包管理器(npm)**:Node.js 的包管理器 npm 是世界上最大的开源库生态系统,提供大量预封装的模块,方便开发者快速搭建项目和管理依赖。 9. **错误处理**:Node.js 中错误处理是异步的,通常通过回调函数的...