由于Node.js平台是在后端运行JavaScript代码,所以,必须首先在本机安装Node环境。

一、安装Node.js

  首先,从Node.js官网下载对应平台的安装程序,网速慢的童鞋请移步国内镜像。在Windows上安装时务必选择全部组件,包括勾选Add to Path

  安装完成后,在Windows环境下,请打开命令提示符,然后输入node -v,如果安装正常,你应该看到v8.10.0这样的输出。继续在命令提示符输入node,此刻你将进入Node.js的交互环境。在交互环境下,你可以输入任意JavaScript语句,例如100+200,回车后将得到输出结果。要退出Node.js环境,连按两次Ctrl+C。

二、npm

  npm其实是Node.js的包管理工具(package manager)。为啥我们需要一个包管理工具呢?因为我们在Node.js上开发时,会用到很多别人写的JavaScript代码。如果我们要使用别人写的某个包,每次都根据名称搜索一下官方网站,下载代码,解压,再使用,非常繁琐。于是一个集中管理的工具应运而生:大家都把自己开发的模块打包后放到npm官网上,如果要使用,直接通过npm安装就可以直接用,不用管代码存在哪,应该从哪下载。

  更重要的是,如果我们要使用模块A,而模块A又依赖于模块B,模块B又依赖于模块X和模块Y,npm可以根据依赖关系,把所有依赖的包都下载下来并管理起来。否则,靠我们自己手动管理,肯定既麻烦又容易出错。

  讲了这么多,npm究竟在哪?其实npm已经在Node.js安装的时候顺带装好了。我们在命令提示符或者终端输入npm -v,应该看到类似的输出。如果直接输入npm,你会看到类似下面的输出。如下面所示

  上面的一大堆文字告诉你,npm需要跟上命令。现在我们不用关心这些命令,后面会一一讲到。目前,你只需要确保npm正确安装了,能运行就行。

三、配置NodeJS和NPM

  1、并不是说NodeJS和NPM安装好了以后就能直接使用了,这也是新手经常犯的一个错误之一。因为默认情况下,NPM安装的模块并不会安装到NodeJS的程序目录,比如上面安装的时候我们设置的D:\Program Files\nodejs\目录,我们用个示例来看一下,我们先用npm安装一个cluster模块,如下面第一张图所示,执行命令:

  npm install cluster

  从图中可以看到,默认情况下把一下信息保存到C:\Users\Administrator\目录下,我们打开这个目录看看。可以看到这个目录底下有个node_modules目录,点开一看,如下面第二张图所示:

  2、可以看到把cluster目录装到了这个目录下面,这就说明,如果不修改npm的模块安装目录,那么它默认情况下都会安装到这里,随着你测试开发各种不同的项目,安装的模块越来越多,那么这个文件夹的体积会越来越大,直到占满你的C盘。这就是为什么要修改npm的配置的原因。

  3、这里我们要分两步:

  第一步:修改NPM的缓存目录和全局目录路径,将对应的模块目录改到D盘nodejs的安装目录;

  第二步:是配置npm和nodejs的环境变量,这样nodejs才能正确地调用对应的模块。

  我们先来做第一步,在D盘nodejs目录下创建两个目录,分别是node_cache和node_global,这是用来放安装过程的缓存文件以及最终的模块配置位置。

  配置完成后,执行下面这两个命令:

  npm config set prefix "D:\Program Files\nodejs\node_global"

  npm config set cache "D:\Program Files\nodejs\node_cache"

  将npm的全局模块目录和缓存目录配置到我们刚才创建的那两个目录:

  4、然后我们打开cmd命令行界面,在使用命令安装刚才的cluster模块,命令如下:

  npm install cluster -g

  然后打开刚才创建的node_global目录,可以看到此时cluster目录就安装到这个目录底下了。

  5、然后我们来配置npm的环境变量和nodejs的环境变量。

  在计算机图标上点右键,选属性,然后点击高级系统配置,弹出来的新窗口右下角有个环境路径,点进去,就能看到环境路径的配置界面,我们点击新建。然后在弹出来的窗口里,变量名填:NODE_PATH,变量值填:D:\Program Files\nodejs\node_modules\,填写好后点确定,然后就能看到我们配置好的NPM环境路径。

  6、此时还需要修改一些nodejs默认的模块调用路径,因为模块的安装位置变了,如果nodejs的命令还到原来的位置去找,肯定是找不到安装的模块了。我们在环境变量窗口,选择Path,然后点击右下角的编辑,然后选择npm那个,点击编辑将其修改为:D:\Program Files\nodejs\node_global\,然后点确定,保存这个配置。

修改为:

  7、这个时候所有的配置工作才算完成了,然后打开一个新的cmd窗口。先输入命令:

  node

  进入nodejs的交互式命令控制台,然后输入:

  require('cluster')

  如果能正常输出cluster模块的信息,说明上面的所有配置就算生效了。

  8、我们还需要做的最后一个工作是,将npm的模块下载仓库从默认的国外站点改为国内的站点,这样下载模块的速度才能比较快,只需要一个命令即可,命令是:

  npm --registry https://registry.npm.taobao.org install cluster

  上面的命令是临时使用国内一家npm源的地址来安装cluster模块。从下面图中可以看到,速度非常快。只用了1秒。而我们上面第一次安装的时候用了差不多6秒多,速度快了6倍。

  如果想一直使用这个源的地址,那么可以使用下面这个命令来配置。

  npm install -g cnpm --registry=registry_url

    registry_url指的是国内提供的一些npm仓库地址,常用的有:

    https://registry.npm.taobao.org

    http://r.cnpmjs.org/

  这两个都可以使用。如下面第二张图所示,配置好国内源后,安装一个较大的模块express,速度提升还是非常可观的。至此,nodejs和npm在windows上的配置就全部完毕。

安装Node.js、npm和环境变量的配置的更多相关文章

  1. 安装 node.js npm,cnpm

    参考:https://blog.csdn.net/suiyuehuimou/article/details/74143436 https://www.liaoxuefeng.com/wiki/0014 ...

  2. Ubuntu14.04LTS下安装Node.js&NPM以及个人博客hexo的初始化配置

    什么是hexo Hexo 是一款基于node 的静态博客网站生成器作者 :tommy351是一个台湾的在校大学生...相比其他的静态网页生成器而言有着,生成静态网页最快,插件丰富(已经移植了大量Oct ...

  3. window下安装Node.js NPM

    一.安装Node.js 下载地址:http://nodejs.org/download/ 1..msi文件,直接安装,包括了npm,结束. 2..exe文件,把node.exe所在主目录,加入到系统P ...

  4. 安装node.js / npm / express / KMC

    http://www.cnblogs.com/seanlv/archive/2011/11/22/2258716.html 1. 下载Node.js官方Windows版程序: http://nodej ...

  5. CentOS 6.5安装Node.js, npm

    CentOS上可以通过下载*.tar.gz安装包的方式自己解压缩.编译的方式安装,同时还可以采用EPEL的方式安装: Node.js and npm are available from the Fe ...

  6. Centos6.9安装Node.js+npm爬坑

    Node.js选择 1.下载 wget https://nodejs.org/dist/v8.4.0/node-v8.4.0-linux-x86.tar.gz 2.解压 tar zxvf node-v ...

  7. 【centos6.5 安装 node.js + npm】

    1.参考链接:http://www.jb51.net/article/116231.htm 2.下载的nodejs版本一定要是v0.12.10的(传送门:https://nodejs.org/en/b ...

  8. 安装JDK,Python SDK及环境变量的配置

    JDK 首先是下载安装包 http://pan.baidu.com/share/link?shareid=3261115669&uk=369127748 一般JDK和Jre是一起安装的,提醒大 ...

  9. CentOS6.8 安装node.js npm

    环境:CentOS6.8_X64系统 一.到官方下载最新的编译好的安装文件,目前是6.9.4. $>cd /usr/local/src #定位到这个目录,下载的文件会在这个目录#使用wget下载 ...

随机推荐

  1. 用maven创建第一个SpringMVC

    首先创建一个maven项目,然后依次完成如下配置: 在pom.xml加入如下基础配置,利用maven加载我们所需要的jar: <project xmlns="http://maven. ...

  2. phpstorm+xdebug详解

    1.run->edit configurations StartUrl最好是网址,不然容易出错,Server选择的是配置时添加的Servers,详可参考:http://www.cnblogs.c ...

  3. Selenium2+python自动化59-数据驱动(ddt)【转载】

    前言 在设计用例的时候,有些用例只是参数数据的输入不一样,比如登录这个功能,操作过程但是一样的.如果用例重复去写操作过程会增加代码量,对应这种多组数据的测试用例,可以用数据驱动设计模式,一组数据对应一 ...

  4. python基础之初识python

    Python的发展史 1989年圣诞节期间,吉多·范罗苏姆为了打发时间,开发了python这门语言.真他妈牛逼. Python崇尚优美.清晰.简单,是一门优秀并广泛使用的语言.2007年在TIOBE榜 ...

  5. Mysql中大表添加索引的办法

    Hash索引与 Btree索引的区别http://database.51cto.com/art/201010/229525.htm Creating Indexes/Sorting on very l ...

  6. React中super(props)和super()以及不写super()的区别

    一.constructor()和super()的基本含义 constructor() -- 构造方法 这是ES6对类的默认方法,通过new命令生成对象实例自动调用的方法.并且,该方法是类中必须要有的, ...

  7. 浅谈Java中final,finalized,finally

    final: final可以让你控制你的成员.方法或者是一个类是否可被覆写或继承等功能,这些特点使final在Java中拥有了一个不可或缺的地位,也是学习Java时必须要知道和掌握的关键字之一. fi ...

  8. 【暴力】vijos P1897 学姐吃牛排

    判断堆:递归判断每个节点的孩子是否都比其父亲大(小). 判断BST:中序遍历是否有序. #include<cstdio> using namespace std; #define lc ( ...

  9. 1.3(Mybatis学习笔记)动态SQL

    一.<if> 使用<if>可以根据具体情况来拼接SQL语句,使其更加灵活更加适应我们的需求. <if>的标签体中是需要拼接的语句,满足条件才会将其进行拼接. < ...

  10. oop 知识点回顾

    1.抽象,封装 2.继承:连接类的层次模型,并且允许类的重用,提供共性的方法,从现有的类派生(方法的重写,扩展) 派生:新类继承了基类,那么新类就是派生类,适合更合适的需要 3.多态:允许不同的类的对 ...