NodeJS模块全局安装路径配置

写在前面的内容:

官网下载NodeJS安装后,会默认安装npm,使用npm安装模块时会有全局安装和本地安装两种。

本地安装
1. 将安装包放在 ./node_modules 下(运行npm时所在的目录)
2. 可以通过 require() 来引入本地安装的包

全局安装
1. 将安装包放在 C:\Users\Administrator\AppData\Roaming\npm\node_modules(windows)下

2. 可以直接在命令行里使用

为什么全局安装后还要本地安装
仅全局安装足够吗?
1.在JS实例代码中,默认下NodeJs会在NODE_PATH和目前js所在项目下的node_modules文件夹下去寻找模块,因此,如果只是全局安装,不能直接通过require()的方式去引用模块,需要手动解决包路径的配置问题,当然你也可以复制全局安装的node_modules文件夹到项目下,还有办法可以选择将环境变量的NODE_PATH设置为C:\Program Files\nodejs。

2.对于包的更新不好管理,可能你需要为每个包重新命名,如[email protected][email protected],为了区别不同项目使用指定的包,保证模块之间的相互依赖(这块下面会介绍),区别每个项目正常运行。

因此,不推荐只全局安装。


PS:国内使用npm速度较慢,可以使用淘宝定制的npm镜像cnpm。详情:https://npm.taobao.org/

cnpm安装:npm install -g cnpm --registry=https://registry.npm.taobao.org


-----------------------------------------------------------------------------------------------------

以下内容仅仅是解决了require()能够直接调用全局安装的模块,具体使用要根据实际项目情况。

一、NodeJS安装信息如下:

安装环境:Win10

安装路径:C:\Program Files\nodejs

安装NodeJs后,默认全局安装路径为:C:\Users\Administrator\AppData\Roaming\npm\node_modules(可通过npm命令npm root -g查看。Administrator用户名各人一般不同。)

二、修改全局安装路径步骤如下:

1. 在NodeJS安装路径下新建两个文件夹node_global与node_cache。

NodeJS模块全局安装路径配置

2. 在DOS命令窗口分别执行一下两条命令:

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

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

在nodejs的安装目录中找到node_modules\npm\.npmrc文件,修改如下:
prefix = C:\Program Files\nodejs\node_global
cache = C:\Program Files\nodejs\node_cache

此时执行npm install -g gulp命令,发现全局安装路径已经更新了。npm模块安装的默认全局路径已经改到了相应的文件夹中,但是这时候用户还是无法require这些模块,因为电脑系统现在还不知道你把默认路径给改了,所以需要修改系统环境变量。

NodeJS模块全局安装路径配置

3. 配置环境变量

首先,在“系统变量”中新建一个名为NODE_PATH的变量,变量值为:新建的用于存放全局模块的文件夹中的node_modules文件夹的绝对路径。(告诉系统用户下载的全局模块在此处)。

NodeJS模块全局安装路径配置

其次,新建完NODE_PATH后,还需要告诉系统,node和npm的位置,这时候找到系统变量“Path”并编辑如下:

NodeJS模块全局安装路径配置

此时,require已经能够正常使用了。

NodeJS模块全局安装路径配置