下载安装NodeJS后,在自己选择的路径下会有如下的文件:

默认情况下NodeJS安装会同时安装npm(模块管理器:用于管理用户require的模块,有全局和本地两种)。

注:全局:执行npm  install  <模块的名字>  -g 就会将模块装在全局路径下,当用户在程序中require(<模块的名字>)的时候不用考虑模块在哪,如果不修改全局路径,用户下载的模块会默认在C:\Users\Administrator\AppData\Roaming\npm这个路径下。

局部:执行npm  install  <包的名字>(注意少了-g)就会将模块安装在dos窗当前指向的路径下,如:

会将模块express安装在对应C:\Users\Administrator下的node_modules中,这时候其他路径项目无法引用到该版本的express模块!

以上NodeJS的环境基本搭建完成,可以尝试运行一些js文件啦~~~

But!有时候,会有用户想修改默认的全局路径:

我们要先配置npm的全局模块(node_global)的存放路径以及缓存(global_cache)的路径,例如我希望将以上两个文件夹放在D:\SoftWare\NodeJS_Redis\NodeJS\node_modules下:

1)在D:\SoftWare\NodeJS_Redis\NodeJS\node_modules下建立”node_global”及”node_cache”两个文件夹。如下图

2)在DOS窗中执行:

npm config set prefix “D:\SoftWare\NodeJS_Redis\NodeJS\node_modules\node_global”

npm config set cache “D:\SoftWare\NodeJS_Redis\NodeJS\node_modules\node_cache”

如果这种方法无法修改还可以:

在nodejs的安装目录中找到node_modules\npm\.npmrc文件

修改如下即可:

prefix = D:\SoftWare\NodeJS_Redis\NodeJS\node_modules\node_global

cache = D:\SoftWare\NodeJS_Redis\NodeJS\node_modules\node_cache

3)此时,npm模块安装的默认全局路径已经改到了相应的文件夹中,但是 这时候用户还是无法require这些模块,因为电脑系统现在还不知道你把默认路径给改了,所以需要在“我的电脑”-->“右键”-->“属性”-->“高级系统设置”-->“环境变量”打开设置对话框。

4)下面是最关键的地方(决定修改成败的地方!):

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

即:D:\SoftWare\NodeJS_Redis\NodeJS\node_modules\node_global\node_modules

②新建完NODE_PATH后,还需要告诉系统,node和npm的位置,这时候需要在“环境变量”的对话框“系统变量”这一栏中找到“path”变量,

双击打开,在已有内容的最后先添加一个英文分号“;”,之后检查路径下是否有

D:\SoftWare\NodeJS_Redis\NodeJS;        (node和npm的地址)

下面这一条是如果安装了supervisor需要添加:

D:\SoftWare\NodeJS_Redis\NodeJS\node_modules\node_global;        (supervisor路径,supervisor比较特殊并且只能通过全局的方式安装,具体特殊性如果有兴趣继续往下看!!!)

有且只要这两个内容,多了其他的关于nodejs删除。

——————————————————————————————————————————————————————————————————————————

写在最后:关于supervisor模块安装与运行的特殊性的个人理解:

supervisor这个模块可以随之监控用户修改并执行,省去了用户每次修改完程序再输一遍node ***.js的麻烦。它虽然方便,但是在安装和使用的过程中需要有几个地方注意:

1、安装问题:

如果用户自定义了模块全局路径,这时候一定要在“系统变量”下的“path”变量中添加supervisor模块所在的文件绝对路径。特殊性就在与它的路径不和用户下载的其他模块一起,而是在上一层文件夹中,

D:\SoftWare\NodeJS_Redis\NodeJS\node_modules\node_global;    supervisor模块所在路径

D:\SoftWare\NodeJS_Redis\NodeJS\node_modules\node_global\node_modules;     用户下载其他模块所在路径

其中: node_global是之前创建用于存放所有全局模块的文件夹。

2、执行问题:

执行supervisor最好在项目所在的文件夹路径下执行,否则有可能会出现程序意外终止或者不断创建子进程,尤其在cmd默认路径下执行时会出现程序无法执行的现象。

 

NodeJS——模块全局安装路径配置以及关于supervisor的问题解释的更多相关文章

  1. nodejs 模块全局安装路径配置

    nodejs下载安装完成后 输入npm config ls 或者npm config list npm 默认的全局安装路径为该路径,将包都下载在C盘中不是我们想要的结果.一般建议修改在nodejs的安 ...

  2. nodejs安装及npm模块插件安装路径配置

    在学习完js后,我们就要进入nodejs的学习,因此就必须配置nodejs和npm的属性了. 我相信,个别人在安装时会遇到这样那样的问题,看着同学都已装好,难免会焦虑起来.于是就开始上网查找解决方案, ...

  3. 手贱--npm 误改全局安装路径

    修改全局安装命令: 通过 npm config set prefix "目录路径" 来设置. 通过 npm config get prefix 来获取当前设置的目录. 我的node ...

  4. vscode 和 atom 全局安装和配置 eslint 像 webstorm 等 ide 一样使用 standard标准 来检查项目

    首先你要安装了 nodejs ,然后在终端命令行输入下面的这堆 npm install eslint eslint-plugin-standard eslint-config-standard esl ...

  5. NPM修改默认全局安装路径

    有段时间没用npm了,昨天打算用vue-cli来新建个项目,yarn global add @vue/cli 之后,粗大事了.vue命令不可用,显示未安装.各种折腾,后来发现问题所在,今天写出来,一方 ...

  6. perl 查看某个模块的安装路径

    perldoc 命令可以查看某个模块的安装路径 命令: perldoc -l Bio::Seq 返回值如下: /usr/local/share/perl5/Bio/Seq.pm

  7. 【hexo+github搭建myblog】bash: npm: command not found 问题,疑似解决!关键词:NPM全局安装路径

    情况:打算用hexo+github搭建个人博客 1. hexo搭建,参考博文如下,非常感谢: Hexo+Github博客搭建完全教程 hexo从零开始到搭建完整 问题: 在最基本的安装步骤 (参考链接 ...

  8. nodejs全局安装路径的位置

    一般nodejs安装在默认的C盘,如果不知道安装在哪里,可以打开控制面板-系统和安全-系统-高级配置中找到 所谓全局安装: 是指安装在node中node_module的根目录里,可以在电脑的任何位置调 ...

  9. 使用xshell linux安装nodejs,CentOS下安装并配置nodejs环境教程

    1. 下载node最新版本 : 连接   https://nodejs.org/zh-cn/(查看node最新版本) 在跟目录root下,命令行输入: wget https://nodejs.org/ ...

随机推荐

  1. CentOS-6.5操作系统安装

    1.创建Linux虚拟机(如图所示) 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 1.10 1.11 1.12 1.13 1.14 1.15 1.16 1.17 1.18 ...

  2. 完全背包和多重背包的混合 F - The Fewest Coins

    http://poj.org/problem?id=3260 这个题目有点小难,我开始没什么头绪,感觉很乱. 后来看了题解,感觉豁然开朗. 题目大意:就是这个人去买东西,东西的价格是T,这个人拥有的纸 ...

  3. M - 昂贵的聘礼 最短路 dij

    http://poj.org/problem?id=1062 这个题目有一点点特别,因为数据很小也可以用Floyd跑,但是个人比较钟爱dij. 这个dij是怎么走的呢,首先就是普通的建图,然后就是带上 ...

  4. spring的bean的属性注入

    一.设置注入 设置注入要求: 要求属性在实体类中必须有getter 和setter方法,然后在spring的工厂中就可以使用property标签进行设值注入. 二.构造注入 通过类的构造方法的方式注入 ...

  5. (技能篇)Mysql在linux下的全量热备份

    相关命令: #创建备份目录 mkdir -p /mysqlbackup #进入创建的备份目录中 cd /mysqlbackup #如果mysql运行在mysql用户和用户组下面,root表示用户,my ...

  6. mysql中的读锁和写锁

    当mysql为一个表开启读锁的时候,其他进程包括进程本身没有权利去修改这张表的内容,也没有权利更新,但是可以读取表里面的内容 如下例子 给表上读锁 接着更新一下,显示被锁了 释放锁并插入数据 写锁 查 ...

  7. qt creator源码全方面分析(4-5)

    目录 Qt中的字符串 QLatinString 详细介绍 源码 小结 QStringLiteral(str) 详细介绍 源码 小结 Qt中的字符串 Qt中处理字符串最常用的肯定是QString,但是在 ...

  8. ubuntu 1604升级到ubuntu 1804无法忽视的细节问题(亲测有效)

    升级ubuntu系统,遇到很多问题,可能你在升级的时候也会碰到,希望对你有所帮助: 文章目录 1 常规升级过程 2 更改过源 3 无法全部更新 4 其他的问题 5 升级成功 6 无法进入gnome 6 ...

  9. vue 下拉刷新实现

    [手动实现下拉刷新]可以用vue-pull-refash 插件代替 //下拉刷新 let scroll = this.$ref.scroll // 获取当前要拖拽的元素 let top = scrol ...

  10. mysql批量导入删除

    批量导入 <insert id="extractOrderBaseHis">INSERT INTO `odr_order_base_his`(`order_base_i ...