设为首页 收藏本站
查看: 968|回复: 0

[经验分享] NodeJS——模块全局安装路径配置以及关于supervisor的问题解释

[复制链接]

尚未签到

发表于 2017-2-24 09:55:12 | 显示全部楼层 |阅读模式
  下载安装NodeJS后,在自己选择的路径下会有如下的文件:
DSC0000.png

  默认情况下NodeJS安装会同时安装npm(模块管理器:用于管理用户require的模块,有全局和本地两种)。
  注:全局:执行npm  install  <模块的名字>  -g 就会将模块装在全局路径下,当用户在程序中require(<模块的名字>)的时候不用考虑模块在哪,如果不修改全局路径,用户下载的模块会默认在C:\Users\Administrator\AppData\Roaming\npm这个路径下。
  局部:执行npm  install  <包的名字>(注意少了-g)就会将模块安装在dos窗当前指向的路径下,如:
DSC0001.png

  会将模块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”两个文件夹。如下图
DSC0002.png

  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这些模块,因为电脑系统现在还不知道你把默认路径给改了,所以需要在“我的电脑”-->“右键”-->“属性”-->“高级系统设置”-->“环境变量”打开设置对话框。
DSC0003.png

  4)下面是最关键的地方(决定修改成败的地方!):
  ①首先在“系统变量”中新建,新建一个名为NODE_PATH的变量,变量值为:之前新建的用于存放全局模块的文件夹中的node_modules文件夹的绝对路径。(告诉系统 用户下载的全局模块在此处)。
  即:D:\SoftWare\NodeJS_Redis\NodeJS\node_modules\node_global\node_modules
DSC0004.jpg

DSC0005.jpg

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

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

  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模块所在的文件绝对路径。特殊性就在与它的路径不和用户下载的其他模块一起,而是在上一层文件夹中,

DSC0007.jpg

  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默认路径下执行时会出现程序无法执行的现象。






运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-346470-1-1.html 上篇帖子: nodejs进阶(3)—路由处理 下篇帖子: NodeJS——模块全局安装路径配置以及关于supervisor的问题解释
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表