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中注册的路径中查找。

相关推荐
黄尚圈圈28 分钟前
Vue 中引入 ECharts 的详细步骤与示例
前端·vue.js·echarts
浮华似水1 小时前
简洁之道 - React Hook Form
前端
正小安3 小时前
如何在微信小程序中实现分包加载和预下载
前端·微信小程序·小程序
_.Switch5 小时前
Python Web 应用中的 API 网关集成与优化
开发语言·前端·后端·python·架构·log4j
一路向前的月光5 小时前
Vue2中的监听和计算属性的区别
前端·javascript·vue.js
长路 ㅤ   5 小时前
vite学习教程06、vite.config.js配置
前端·vite配置·端口设置·本地开发
长路 ㅤ   5 小时前
vue-live2d看板娘集成方案设计使用教程
前端·javascript·vue.js·live2d
Fan_web5 小时前
jQuery——事件委托
开发语言·前端·javascript·css·jquery
安冬的码畜日常5 小时前
【CSS in Depth 2 精译_044】第七章 响应式设计概述
前端·css·css3·html5·响应式设计·响应式
莹雨潇潇6 小时前
Docker 快速入门(Ubuntu版)
java·前端·docker·容器