DAPP开发【06】nodejs安装与npm路径更换

windows系统在执行用户命令时顺序

windows系统在执行用户命令时,若用户未给出文件的绝对路径,

(1)首先在当前目录下寻找相应的可执行文件、批处理文件等;

(2)若找不到,再依次在系统变量的PATH保存的这些路径中寻找相应的可执行程序文件。查找顺序是按照路径的录入顺序从左往右寻找的,最前面一条的优先级最高,如果找到命令就不会再向后寻找。

(3)如果还找不到再继续在用户变量的PATH路径中寻找。

如果系统变量和用户变量的PATH中都包含了某个命令,则优先执行系统变量Path中包含的这个命令。

正确路径可以解决的问题:

1.无法将XXX项识别为 cmdlet、函数、脚本文件或可运行程序的名称

官网下载nodejs

下载完成后

我们要先配置npm的全局模块的存放路径以及cache的路径,例如我希望将以上两个文件夹放在nodejs的主目录下,便在nodejs下建立"node_global"及"node_cache"两个文件夹。如下图:

然后,在cmd里面输入下面的命令行,来设置npm存放模块的路径,修改成自己的目录:

在cmd中输入以下指令,设置缓存和全局安装文件夹为上述新建文件夹。

修改npm 全局缓存和全局安装位置

请将D:\DApp\nodejs替换为你自己的node.js的安装路径。

go 复制代码
npm config set prefix "D:\DApp\nodejs\node_global"
npm config set cache "D:\DApp\nodejs\node_cache"

验证

go 复制代码
npm config get prefix
npm config get cache

有需要的可以更换源,下载包的速度会更快

go 复制代码
-- 查看镜像源 npm get registry
 
-- 修改成淘宝镜像源 npm config set registry https://registry.npm.taobao.org
 
 // 后面地址变成了浅灰色 也要加进去 那是淘宝镜像源地址

修改系统环境变量

属性 --> 高级系统设置 --> 环境变量 --> 首先到用户环境变量 中修改 path 中它自动给我们加的环境变量 我的是改过的 你们的是在 C:\Users\用户名\AppData\Roaming\npm下 将它改为你们的Node.js 安装的地址中新建的D:\DApp\nodejs\node_global文件夹下
【最后的反斜杠要不要都行】

还要添加D:\DApp\nodejs 用来执行npm命令的环境

然后修改系统变量 在系统变量中新增 名为 NODE_PATH 和值为D:\此处为自己安装地址\node_global\node_modules 路径

验证

成功

在cmd命令行中,在不指定路径的情况下执行某个命令,系统不一定知道这个命令对应的可执行文件在哪,如果在可执行文件所在的目录放到Path环境变量中,就能够确保找到对应的可执行文件。

1、系统变量和用户变量的区别

由于windows系统可以创建多个账户,用户环境变量就是只对当前的账户有效,可以看到用户环境变量的全称是xxx的用户变量,表示这只是针对某个账户的变量;而系统变量就是对多有的账户都是有效的。

系统变量与用户变量的联系与区别如下:

复制代码
系统变量与用户变量可以存在重名,比如系统变量与用户变量都可以一个名为Path的变量

如果系统变量与用户变量重名,优先使用系统变量

系统变量与用户变量的变量名都不区分大小写,即path与PATH是一样的

系统变量对所有的用户有效,用户变量只当前的用户有效。

Path变量告诉系统可执行文件存放的路径。

一般来说,我们电脑只有一个主用户,所以在其中任何一个配置即可,但当你用户变量和系统变量中同时配置时,若用户变量更新了配置,

系统变量也要做相应的改变,故一般情况下都建议配置系统环境变量。

在使用 nodejs 开发中我们都免不了要去安装一些第三方模块。

那么你或多或少的遇到过以下一些问题

再继续阅读之前,我们先来弄清楚一个概念。

npm install --global xxx 属于全局安装

npm install xxx 属于本地安装

安装的模块太多项目太臃肿,模块没能复用

你写一个项目 A 需要安装一个 express 模块,又开发一个项目 B 又需要安装一个 express 模块

项目中依赖包太多,文件过多,模块没法复用,各种问题浮现

NODE_PATH 出现,模块复用,最佳实践方案

NODE_PATH 是干什么的呢?

操作系统中都会有一个PATH环境变量,想必大家都知道,当系统调用一个命令的时候,就会在PATH变量中注册的路径中寻找,如果注册的路径中有就调用,否则就提示命令没找到。

那 NODE_PATH 就是NODE中用来寻找模块所提供的路径注册环境变量。

NODE_PATH中的路径被遍历是发生在

从项目的根位置递归搜寻 node_modules 目录,直到文件系统根目录的 node_modules,如果还没有查找到指定模块的话,就会去 NODE_PATH中注册的路径中查找。

相关推荐
然我14 分钟前
防抖与节流:如何让频繁触发的函数 “慢下来”?
前端·javascript·html
鱼樱前端18 分钟前
2025前端人一文看懂 Broadcast Channel API 通信指南
前端·vue.js
烛阴1 小时前
非空断言完全指南:解锁TypeScript/JavaScript的安全导航黑科技
前端·javascript
鱼樱前端1 小时前
2025前端人一文看懂 window.postMessage 通信
前端·vue.js
快乐点吧1 小时前
【前端】异步任务风控验证与轮询机制技术方案(通用笔记版)
前端·笔记
pe7er2 小时前
nuxtjs+git submodule的微前端有没有搞头
前端·设计模式·前端框架
七月的冰红茶2 小时前
【threejs】第一人称视角之八叉树碰撞检测
前端·threejs
爱掉发的小李2 小时前
前端开发中的输出问题
开发语言·前端·javascript
祝余呀2 小时前
HTML初学者第四天
前端·html
Q_Q5110082853 小时前
python的婚纱影楼管理系统
开发语言·spring boot·python·django·flask·node.js·php