前言
作为一名刚接触前端的小白,想要通过文字记录下自己在前端道路上学习到的知识。一方面帮助自己能够更好地理解并梳理记住自己学到的知识;另一方面也希望自己记录的东西能够给一些需要的人提供一点点的帮助。如果哪儿说的不对,欢迎指正!好啦,下面开始 ——史上最全的Node.js安装教程。亲测有效,包学包会,童叟无欺!
介绍
本文将会全面的介绍Node.js全家桶的安装,内容包括:NVM安装,Node.js安装,NPM安装,NRM安装。
下面简单介绍下我们准备安装的都是什么东东:
一、Node.js: Node.js 是运行在服务端的 JavaScript,是一个基于Chrome JavaScript 运行时建立的一个平台。简单说,Node.js是JavaScript的运行环境(是运行环境,而不是JS框架),这使得JavaScript可以成为与Java,PHP,Python等语言一样,进行后台服务端的开发。
特点:1. Node.js是JavaScript的运行平台,所以前端不用再去学一门后台语言了!(这里允许我皮一下^_^)
2. Node.js实质上是对Google的V8引擎进行了封装,所以得益于V8引擎的强悍编译技术,对JavaScript语言的编译和执行速度非常快,性能非常好。
3. 异步的事件驱动机制。就是指在持续的事务管理过程中,只跟随当前时间点上出现的事件进行处理,执行相关任务,防止事务的堆积。Node.js的设计思想是以事件驱动为核心,而事件驱动动过异步回调实现,这样就可以充分的利用系统的资源去执行任务而无需阻塞。Node.js通过内部单线程高效地维护事件循环队列,没有多线程的资源占用和上下文切换。
4. 异步、非阻塞的I/O。适合密集型IO的应用场景,比如实时多人在线聊天、游戏、新闻、微博等。
5. 单线程。Node.js的单线程是指主线程为单线程,所有的阻塞都放入到一个线程池中,然后主线程通过队列的方式跟线程池来协作,所以我们在编写代码的时候不需要考虑线程的问题。
优点:适合高并发,密集IO的应用场景。
因为针对每个并发的请求,都会为其分配注册一个IO事件和一个回调函数。然后程序会按照顺序去进行事件的处理,并在处理完成后会调用各自的回调函数。其中事件处理是由Node.js工作线程去处理的(Node.js底层的libuv是由多线程的线程池并行IO处理),因此主线程就不需要等待(即不会阻塞新的请求),只需要把当前的IO事件分配下去就可以继续去执行其他的事件,而不会发生阻塞。
缺点:不适合CPU密集型操作的使用场景。
因为Node.js只支持单线程,所以只能利用一个CPU,无法充分的利用CPU资源(现在都是多核CPU),如果遇到长时间的计算,就会导致CPU时间片无法释放,后面的IO就无法发起。
可靠性低,一旦代码哪里出问题了,整个系统就崩溃了。(单进程,单线程)
二、NVM: NVM全称Node Version Manager,是 Node.js 版本管理器,它让我们能方便的对 Node.js 的版本进行管理。
三、NPM:NPM是随同Node.js一起安装的包管理工具,它具有以下功能:允许用户从NPM服务器下载别人编写的第三方包到本地使用。允许用户将自己编写的包或插件上传到NPM服务器供别人下载使用。
四、NRM:这个类似与NVM,用来管理NPM Registry,简单点说就是管理在执行npm install命令时,从哪个仓库地址里下载你需要的包。
安装
一、NVM的安装
因为NVM是用来管理Node.js的版本的,所以这里我们先介绍NVM的安装。
1.下载NVM: https://github.com/coreybutler/nvm-windows/releases(选择下载第一个nvm-noinstall.zip)
2.解压压缩包:C:\dev\nvm。解压后文件夹下有如下文件:
3.双击install:出现如下窗口(以管理员身份运行)
4.直接回车:然后会出现一个名为settings.txt的文件。把该文件中的内容替换为如下内容:
root: C:\dev\nvm
path: C:\dev\nodejs
arch: 64
proxy: none
node_mirror: http://npm.taobao.org/mirrors/node/
npm_mirror: https://npm.taobao.org/mirrors/npm/
5.点击保存:此时C:\dev\nvm下会多出一个settings.txt文件
6.环境配置:
第一步,根据 计算机-》右击属性-》高级系统设置-》系统变量 打开环境变量配置窗口;
第二步,在系统变量中添加两个变量NVM_HOME 和 NVM_SYMLINK,其值分别为C:\dev\nvm和C:\dev\nodejs;
第三步,修改Path,如果Path中添加了C:\dev\nvm;或者是C:\dev\nodejs,删掉,然后在Path的最前面输入: ;%NVM_HOME%;%NVM_SYMLINK%; (注意前后的";"别忘了);
第四部,点击“确定”就好啦!
7.测试:配置完成后,打开cmd,输入nvm v,如果出现下图信息,恭喜你安装成功!
二、Node.js安装
在安装好NVM后,Node.js的安装就非常简单了。首先打开cmd,输入 nvm install latest 。如果网络畅通,我们会看到正在下载的提示,下载完成后就可以通过 nvm use 版本号 指定使用哪个node版本。
注意:如果你是第一次下载,在use之前,C:\dev目录下是没有nodejs这个文件夹的。在输入: nvm use 10.9.0 之后,你会发现,C:\dev目录下多了一个nodejs文件夹,这个文件夹不是单纯的文件夹,它是一个快捷方式,指向了 C:\dev\nvm 里的 v10.9.0 文件夹。
备注: 如果你的电脑系统是32 位的,那么在下载Node.js版本的时候,一定要指明 32 如: nvm install 5.11.0 32 ,这样在32位的电脑系统中,才可以使用,默认是64位的。
常用的NVM命令:
nvm install :安装指定版本,可模糊安装,如:nvm install v6.2.0或nvm install 6.2
nvm uninstall:删除已安装的指定版本,语法与install类似
nvm use:切换使用指定的版本(如果不好用,试试以管理员身份运行)
nvm ls:列出所有安装的版本
nvm ls-remote: 列出所以远程服务器的版本(官方node version list)
nvm current:显示当前的版本
nvm alias:给不同的版本号添加别名
nvm unalias:删除已定义的别名
nvm reinstall-packages:在当前版本node环境下,重新全局安装指定版本号的npm包
三、NPM安装
1. 设置npm全局安装路径
npm config set prefix "C:\dev\nvm\npm"
这是在配置npm的全局安装路径,然后在用户文件夹下会生成一个.npmrc的文件,用记事本打开后可以看到如下内容:
prefix=C:\dev\nvm\npm
2.安装NPM:打开cmd然后输入命令: npm install npm -g 。回车后会发现正在下载npm包,在C:\dev\nvm\npm目录中可以看到下载中的文件,只要用如下命令就可以把包安装在配置的全局路径里。
npm install -g 包名
3.配置环境变量:在系统环境中增加NPM_HOME变量,其值设为C:\dev\nvm\npm。然后在Path的最前面添加“;%NPM_HOME%”。因为这个一定要添加在 %NVM_SYMLINK%之前,所以我们直接把它放到Path的最前面。
4.测试:新打开一个命令窗口,输入npm -v ,若显示如下信息,则说明安装成功。
5.安装淘宝cnpm:我们还可以安装cnpm工具,它是中国版的npm镜像库,是npm官方的一个拷贝。因为我们和外界有一堵墙隔着,所以国内用这个会比较快。淘宝也弄了一个和npm一样的镜像库,它和官方的npm每隔10分钟同步一次。安装方式:
npm install -g cnpm –registry=http://r.cnpmjs.org
或
npm install -g cnpm –registry=https://registry.npm.taobao.org
安装好了cnpm后,直接执行cnpm install 包名即可。比如:cnpm install webpack -g 就可以了。-g只是为了把包安装在全局路径下。如果不全局安装,也可以在当前目录中安装,不用-g就可以了。
四、NRM安装
NRM(npm registry manager )是NPM的镜像源管理工具,有时候国外资源太慢,那么我们可以用这个来切换镜像源。
安装NRM:
npm install nrm -g
NRM常用命令:
nrm ls:列出可选的镜像源
nrm add repository_name repository_url:添加新的镜像源
nrm use repository_name : 切换到相应的镜像源
五、扫尾工作
所有一切都安装好后,如果你之前有在官网下载安装过Node.js,卸载了即可,然后输入以下命令,出现下图说明一切正常OK啦~~
结语
作为一名刚接触前端开发的小白,深知还有很长的道路要走。我会继续努力,不断学习,同时也会继续保持记录的良好习惯,希望自己有朝一日能够成为一名优秀的前端开发工程师。
好啦,本篇文章就到这里了,如果对各位看官有一小丢丢的帮助,那我就会很开心啦!如果有什么问题或是意见,也非常欢迎各位看官留言交流~~拜拜!