由于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. Django-models class Meta:元类

    Django模型之Meta选项详解 Model 元数据就是 "不是一个字段的任何数据" -- 比如排序选项, admin 选项等等.   Django模型类的Meta是一个内部类, ...

  2. 如何加快Eclipse的启动速度?

    http://it.taocms.org/12/6457.htm 浅析配置更快的Eclipse方法 What is the Metadata GC Threshold and how do I tun ...

  3. SQLAlchemy中filter()和filter_by()有什么区别

    from:https://segmentfault.com/q/1010000000140472 filter: apply the given filtering criterion to a co ...

  4. 串口通讯超时的设置与含义(COMMTIMEOUTS)

    COMMTIMEOUTS:COMMTIMEOUTS主要用于串口超时参数设置.COMMTIMEOUTS结构如下: typedef struct _COMMTIMEOUTS { DWORD ReadInt ...

  5. Oracle查看被锁的表,并释放

    几个相关的表 SELECT * FROM v$lock; SELECT * FROM v$sqlarea; SELECT * FROM v$session; SELECT * FROM v$proce ...

  6. python 多进程并发与多线程并发

    本文对python支持的几种并发方式进行简单的总结. Python支持的并发分为多线程并发与多进程并发(异步IO本文不涉及).概念上来说,多进程并发即运行多个独立的程序,优势在于并发处理的任务都由操作 ...

  7. Python shell 控制台,有个快捷键可以向dos那样通过上下键来选择之前输入的内容?

    Alt + p 往前: Alt+n 从头开始历史输入

  8. nginx [error] open() "/usr/local/nginx/logs/nginx.pid" failed的解决

    今天关闭nginx后重启不了: nginx -s reload 结果报错: nginx: [error] open() "/usr/local/nginx/logs/nginx.pid&qu ...

  9. javaScript Promise 入门

    Promise是JavaScript的异步编程模式,为繁重的异步回调带来了福音. 一直以来,JavaScript处理异步都是以callback的方式,假设需要进行一个异步队列,执行起来如下: anim ...

  10. ubuntu 16.04.1 LTS redis安装配置

    编译安装:apt-get updateapt-get install build-essential tclwget http://download.redis.io/redis-stable.tar ...