史上最全的Node.js安装教程

前言

        作为一名刚接触前端的小白,想要通过文字记录下自己在前端道路上学习到的知识。一方面帮助自己能够更好地理解并梳理记住自己学到的知识;另一方面也希望自己记录的东西能够给一些需要的人提供一点点的帮助。如果哪儿说的不对,欢迎指正!好啦,下面开始 ——史上最全的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。解压后文件夹下有如下文件:

nvm压缩包解压后的文件夹内容

3.双击install:出现如下窗口(以管理员身份运行)

双击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文件


settings.txt文件

6.环境配置:

    第一步,根据 计算机-》右击属性-》高级系统设置-》系统变量 打开环境变量配置窗口;

    第二步,在系统变量中添加两个变量NVM_HOMENVM_SYMLINK,其值分别为C:\dev\nvmC:\dev\nodejs

在系统变量中添加NVM_HOME 和NVM_SYMLINK 变量  

    第三步,修改Path,如果Path中添加了C:\dev\nvm;或者是C:\dev\nodejs,删掉,然后在Path的最前面输入: ;%NVM_HOME%;%NVM_SYMLINK%; (注意前后的";"别忘了)

设置Path变量

    第四部,点击“确定”就好啦!

7.测试:配置完成后,打开cmd,输入nvm v,如果出现下图信息,恭喜你安装成功!


安装nvm成功

二、Node.js安装

        在安装好NVM后,Node.js的安装就非常简单了。首先打开cmd,输入 nvm install latest  。如果网络畅通,我们会看到正在下载的提示,下载完成后就可以通过 nvm use 版本号 指定使用哪个node版本。


提示正在下载10.9.0版本的node.js


node.js安装成功

        注意:如果你是第一次下载,在use之前,C:\dev目录下是没有nodejs这个文件夹的。在输入: nvm use 10.9.0 之后,你会发现,C:\dev目录下多了一个nodejs文件夹,这个文件夹不是单纯的文件夹,它是一个快捷方式,指向了 C:\dev\nvm 里的 v10.9.0 文件夹。

C:\dev\nodejs文件夹中的文件
C:\dev\nvm文件中的文件

        备注: 如果你的电脑系统是32 位的,那么在下载Node.js版本的时候,一定要指明 32 如: nvm install 5.11.0 32 ,这样在32位的电脑系统中,才可以使用,默认是64位的。

        常用的NVM命令:

nvm install :安装指定版本,可模糊安装,如:nvm install v6.2.0nvm 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 包名


安装NPM

3.配置环境变量:在系统环境中增加NPM_HOME变量,其值设为C:\dev\nvm\npm。然后在Path的最前面添加“;%NPM_HOME%”。因为这个一定要添加在 %NVM_SYMLINK%之前,所以我们直接把它放到Path的最前面。

添加NPM_HOME变量
修改Path变量

4.测试:新打开一个命令窗口,输入npm -v ,若显示如下信息,则说明安装成功。


显示当前NPM安装版本

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啦~~

一切命令都OK~



结语

        作为一名刚接触前端开发的小白,深知还有很长的道路要走。我会继续努力,不断学习,同时也会继续保持记录的良好习惯,希望自己有朝一日能够成为一名优秀的前端开发工程师。

        好啦,本篇文章就到这里了,如果对各位看官有一小丢丢的帮助,那我就会很开心啦!如果有什么问题或是意见,也非常欢迎各位看官留言交流~~拜拜!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,968评论 6 482
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,601评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 153,220评论 0 344
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,416评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,425评论 5 374
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,144评论 1 285
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,432评论 3 401
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,088评论 0 261
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,586评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,028评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,137评论 1 334
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,783评论 4 324
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,343评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,333评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,559评论 1 262
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,595评论 2 355
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,901评论 2 345

推荐阅读更多精彩内容