Windos 环境下动态切换 NodeJs 版本 |
您所在的位置:网站首页 › arch安装chrome › Windos 环境下动态切换 NodeJs 版本 |
Windos 环境下动态切换 NodeJs 版本
前言步骤.1 系统环境变量.2 修改.npmrc3.文件夹结构.4 cmd 脚本效果
结束
前言
在工作与学习的过程中需要安装不同版本的 node,来回安装很不方便,就有了切换NodeJs版本的需求,因此从网上借鉴安装多个NodeJs 的方法,有感而发,设计了一个改良的方案。
涉及操作:
- 系统环境变量
- cmd 命令
- .npmrc 配置文件
- 文件结构编排
步骤
.1 系统环境变量
主要涉及这三处,Path变量 有则改,没有则新增 (NODE_HOME、NODE_HOME_GLOBAL 是自定义的,可以自己重命名) 变量描述NODE_HOMENodeJs安装路径(C盘)NODE_HOME_GLOBAL全局可读写路径(非C盘,C盘读写需要权限,所以结构一样,只有盘符不一样)Path可执行文件路径集(暴露可执行命令)在 Path变量内注册的路径下的可执行命令都可在 cmd 窗口内执行 新增以下两个值 变量 + 路径效果%NODE_HOME%用于能够执行 node、npm 命令,该目录内存在 node、npm 的可执行文件%NODE_HOME_GLOBAL%\node_global用于能够执行 cnpm、pnpm 命令,该目录内存在 cnpm、pnpm 的可执行文件(前置条件是已安装cnpm,pnpm) .2 修改.npmrc.npmrc 文件内是可以引用系统环境变量的, 格式 ${value},这块是动态切换的核心之一。 # 测试: npm i express -g # ${} 获取的是系统环境变量 # 全局路径 prefix=${NODE_HOME_GLOBAL}\node_global # 缓存路径 cache=${NODE_HOME_GLOBAL}\node_cache # npm 仓库地址 home=https://registry.npmmirror.com # cnpm 仓库地址: 淘宝镜像; 全局安装命令: npm install -g cnpm --registry=https://registry.npmmirror.com registry=https://registry.npmmirror.com/ disturl=https://registry.npmmirror.com/dist # pnpm 配置; 全局安装命令: npm i pnpm -g # pnpm全局bin路径 global-bin-dir=${NODE_HOME_GLOBAL}\node_global # pnpm全局安装路径 global-dir=${NODE_HOME_GLOBAL}\node_global\node_modules\pnpm\pnpm-global # # pnpm全局仓库路径(类似 .git 仓库) store-dir=${NODE_HOME_GLOBAL}\node_global\node_modules\pnpm\pnpm-store # pnpm创建pnpm-state.json文件的目录 state-dir=${NODE_HOME_GLOBAL}\node_global\node_modules\pnpm\pnpm-state # pnpm全局缓存路径 cache-dir=${NODE_HOME_GLOBAL}\node_global\node_modules\pnpm\pnpm-cache 3.文件夹结构以下两个文件夹是需要自己创建的 D:\Program Files\NodeJs\V14.20.0\node_globalD:\Program Files\NodeJs\V14.20.0\node_cache // 安装路径 C - Program Files - NodeJs // 14版本 NodeJs 安装路径 // 对应系统环境变量 %NODE_HOME%, 变量Path内注册 %NODE_HOME%, // 暴漏该路径下 node.exe, npm.cmd 等可执行命令(比如 node -v, npm -v 等命令). - V14.20.0 // 里面除了安装该版本 NodeJs 时自带的 npm 包等外,不会再写入文件 - node_modules - node.exe - npm.cmd // 16版本 NodeJs 安装路径 - V16.18.0 - ...... 省略,同上结构 // 截止到 node_global、node_cache 这两个节点,都是自己创建的, // 这两个节点内部的文件是自生成的 D - Program Files - NodeJs - V14.20.0 // 全局安装路径, 对应系统环境变量 %NODE_HOME_GLOBAL%, // 变量Path内注册 %NODE_HOME_GLOBAL%, 暴漏该路径下 cnpm.cmd, // pnpm.cmd 等可执行命令 (比如 cnpm -v, pnpm -v 等命令). - node-global // 该目录保存所有通过 -g 参数安装的依赖包 - node_modules // 执行 npm install -g cnpm 生成该文件夹 - cnpm // 执行 npm install -g pnpm 生成该文件夹 - pnpm // 以下4个文件夹是在 .npmrc 内配置指定的(可以不创建,需要时自动创建) - pnpm-cache - pnpm-global - pnpm-state - pnpm-store - cnpm.cmd - pnpm.cmd - pnpx.cmd - node_cache - V16.18.0 - ...... 结构同上,省略 .4 cmd 脚本 // 该命令用于更新系统环境变量,KEY 是变量名,VALUE是变量值 call setx /m KEY "VALUE"对应 NodeJs 版本改成自己的 脚本:NODE_V14.20.0.cmd @echo off echo Running ...... call setx /m NODE_HOME "C:\Program Files\NodeJs\V14.20.0" echo NODE_HOME_VERSION: ======= V14.20.0 ======= echo Running ...... call setx /m NODE_HOME_GLOBAL "D:\Program Files\NodeJs\V14.20.0" echo NODE_HOME_GLOBAL_VERSION: ======= V14.20.0 ======= pause exit脚本:NODE_V16.18.0.cmd @echo off echo Running ...... call setx /m NODE_HOME "C:\Program Files\NodeJs\V16.18.0" echo NODE_HOME_VERSION: ======= V16.18.0 ======= echo Running ...... call setx /m NODE_HOME_GLOBAL "D:\Program Files\NodeJs\V16.18.0" echo NODE_HOME_GLOBAL_VERSION: ======= V16.18.0 ======= pause exit想用哪个版本就运行哪个,需要以管理员身份运行。 效果步骤 1,执行脚本 2,新开窗口查询信息 执行完脚本后重开一个cmd窗口去查询,不然不准确。 结束 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |