node js安装、配置(Windows版)
目录
node js 安装
node js 全局配置
1、全局安装路径
2、全局缓存路径
3、修改环境变量
pnpm安装、卸载
全局安装pnpm
验证pnpm版本
卸载pnpm
1、移除全局安装的包
2、移除pnpm cli
脚本直接安装
npm安装的使用命令直接卸载
node js 安装
cmd 查看是否存在,如果不是你需要的版本则先去卸载


node js官网下载:https://nodejs.org/en/
LTS(Long Time Support,经过测试,相对完善、稳定的版本)





- 在Node使用中,我们用npm下载安装某种包或模块,在安装时这种包或模块需要被C/C++编译,这时候需要用到python或VS(Visual Studio),因而,机器上需要安装这两种工具(在这里被称为Build Tools),若没有安装这两种工具,在安装这种包或模块时会提示异常。
- 勾选Automatically install the necessary tools选项,会自动下载安装python和VS,也会安装Windows的Chocolatey包管理器。
- 勾选后,实际是先自动安装Chocolatey,然后再利用Chocolatey包管理器下载安装python和VS。Chocolatey是一款专为Windows系统开发的、基于NuGet的包管理器工具,类似于Node.js的npm,python的pip。在windows中使用Chocolatey能自动下载安装适合windows的应用程序。
- 我们也可以根据图的链接的页面说明,自行根据自己的需要安装python、VS、Chocolatey。比如:VS是收费的,我们可以选择手动安装社区版的VS,若python我们已经安装,我们可以不安装最新版本的python。
- 考虑到安装速度,我们也可以不勾选上述选项,暂时不安装这些工具,安装完Node后自己手动安装,或以后根据需要来安装。



安装完成验证

node js 全局配置
以 Win 为例:
1、npm 默认在当前路径下,将下载的包存到自动创建的node_modules文件夹里
2、npm i 默认全局安装路径是:
C:\Users\你的用户名\AppData\Roaming\npm
3、npm 如果已经安装了包,修改全局配置并不能迁移过去。需要一个一个地卸载掉,再修改全局配置下载安装包
1、全局安装路径
node 目录下新建目录 node_global,其他目录也行
npm config set prefix "D:\Tool\node_modules_repository\node_global"2、全局缓存路径
node 目录下新建目录 node_cache,其他目录也行
npm config set cache "D:\Tool\node_modules_repository\node_cache"3、修改环境变量
在用户环境变量 Path 中 你会看到 默认的npm路径:C:\Users\你都用户名\AppData\Roaming\npm

因为修改了全局路径,所以这条Path 可以给到新的全局路径,如:
D:\Tool\node_modules_repository\node_global这样下载好的包可以直接用,不会存在找不到的问题
pnpm安装、卸载
全局安装pnpm
npm install pnpm -g验证pnpm版本
pnpm -v卸载pnpm
卸载操作可分为三步执行:
- 移除全局安装的包
- 移除pnpm cli
- 删除全局内容可寻址存储
1、移除全局安装的包
列出全局安装的包:pnpm ls -g
- 方法一:运行命令逐个包删除 pnpm rm -g …
- 方法二:运行命令直接删除存放包的目录 - 查看全局目录位置 pnpm root -g
- 手动删除目录
 
- 查看全局目录位置 
2、移除pnpm cli
脚本直接安装
直接删除pnpm主目录
rm -rf $PNPM_HOME清理 shell 配置文件中 PNPM_HOME 的环境变量(HOME/.bashrc、HOME/.bashrc、HOME/.bashrc、HOME/.zshrc 或者 $HOME/.config/fish/config.fish)
npm安装的使用命令直接卸载
npm rm -g pnpm相关文章:
 
node js安装、配置(Windows版)
目录 node js 安装 node js 全局配置 1、全局安装路径 2、全局缓存路径 3、修改环境变量 pnpm安装、卸载 全局安装pnpm 验证pnpm版本 卸载pnpm 1、移除全局安装的包 2、移除pnpm cli 脚本直接安装 npm安装的使用命令直接卸载 node js 安装 cmd 查看是否存在&…...
 
go语言day08 泛型 自定义错误处理 go关键字:协程
泛型: 抛错误异常 实现error接口类型 用java语言解释的话,实现类需要重写error类型的抽象方法Error().这样就可以自定义异常处理。 回到go语言,在Error()方法中用*argError 这样一个指针类来充当error接口的实现类。 在f2()方法中定义返回值…...
 
MySql性能调优01-[数据结构和索引]
数据结构和索引 什么是索引索引的种类常见索引数据结构和区别二叉树 红黑树 什么是索引 索引的种类 在Mysql中索引是在存储引擎层实现的,而不是在服务层实现的 按数据结构分:Btree索引、Hash索引、Full-text索引按存储结构分:聚簇索引、非聚…...
 
【算法入门-栈】逆波兰表达式求值
📖逆波兰表达式求值 ✅描述✅扩展:什么是逆波兰表达式✅题解方法一:栈✅题解方法二(数组模拟栈) 今天又刷了一道题,奥利给 刷题地址: 点击跳转 ✅描述 给定一个逆波兰表达式,求表达…...
【史上最全面ESP32教程】http通信
文章目录 前言HTTP协议是什么?HTTP协议的特点HTTP协议的常见应用 esp32 使用http通信通信流程基础使用HTTPClient 常用的函数函数介绍:void end(void);bool connected(void);void setReuse(bool reuse);void setUserAgent(const String& userAgent);…...
*算法训练(leetcode)第二十七天 | 56. 合并区间、738. 单调递增的数字、968. 监控二叉树
刷题记录 56. 合并区间*738. 单调递增的数字*968. 监控二叉树 56. 合并区间 leetcode题目地址 排序后遇到有重合的区间选择最大的区间保存即可,结果集中保存的是离当前区间最近的区间,因此使用当前区间与结果集中的最后一个集合比较查看是否有重合&…...
OpenJudge 奇数求和
目录 描述思路样例输入样例输出CodeCC 总时间限制: 1000ms 内存限制: 65536kB 描述 计算非负整数 m 到 n(包括m 和 n )之间的所有奇数的和,其中,m 不大于 n,且n 不大于300。例如 m3, n12, 其和则为:357911…...
 
【排序 - 快速排序】
快速排序(Quick Sort)是一种高效的排序算法,它基于分治(Divide and Conquer)的策略。这种排序算法的核心思想是选择一个基准元素,将数组分割成两部分,使得左边的元素都小于等于基准元素…...
 
pytest使用报错(以及解决pytest所谓的“抑制print输出”)
1. 测试类的类名问题 #codingutf-8import pytestclass TestClass1:def setup(self) -> None:print(setup)def test_01(self) -> None:print(test_01111111111111111111111)def test_02(self) -> None:print(test_02)以上述代码为例,如果类名是Test开头&am…...
开源项目编译harbor arm架构的包 —— 筑梦之路
GitHub - amy5200/harbor-arm64 先做个记录,空了再验证...
 
[笔记] SKF Enveloping FAQ 用户指南
文档编号:Application Note CM3013 1.名词解释: 1.1cavitationWhat Is Cavitation? | Pumps & Systems 叶片在液体中扰动形成的超声波 1.2 stiff machinehttps://suspensionlist.com/the-pros-and-cons-of-stiff-vs-soft-suspension-systems/ …...
宪法学学习笔记(个人向) Part.3
宪法学学习笔记(个人向) Part 3 3. 国家基本制度 3.1 国家性质 3.1.1 国家性质概述 国家性质的概念 国家性质也称国体,或国家的阶级本质,是指各个阶级在国家中的地位(哪个阶层是统治阶层,哪个阶层是被统治阶层,哪个…...
 
联想拯救者Y7000 IRX9 笔记本接口功能介绍
适用机型:Legion Y7000 IRX9; 83JJ; USB(3.2 Gen 1)Type-接口摄像头开关组合音频插孔 多用于USB Type-C接口 以太网接口 多用途USB Type-C接口(支持USB Power Delivery)HDMI接口USB(3.2 Gen 1&…...
 
【ESP32】打造全网最强esp-idf基础教程——16.SmartConfig一键配网
SmartConfig一键配网 一、SmartConfig知识扫盲 在讲STA课程的时候,我们用的是代码里面固定的SSID和密码去连接热点,但实际应用中不可能这么弄,我们得有办法把家里的WiFi SSID和密码输入到设备里面去,对于带屏带输入设备还…...
 
MD5加密和注册页面的编写
MD5加密 1.导入包 npm install --save ts-md5 2.使用方式 import { Md5 } from ts-md5; //md5加密后的密码 const md5PwdMd5.hashStr("123456").toUpperCase(); 遇见的问题及用到的技术 注册页面 register.vue代码 <template><div class"wappe…...
 
【Android组件】封装加载弹框
📖封装加载弹框 ✅1. 构造LoadingDialog✅2. 调用LoadingDialog 效果: ✅1. 构造LoadingDialog 构造LoadingDialog类涉及到设计模式中的建造者模式,进行链式调用,注重的是构建的过程,设置需要的属性。 步骤一&#x…...
 
Spring源码二十:Bean实例化流程三
上一篇Spring源码十九:Bean实例化流程二中,我们主要讨论了单例Bean创建对象的主要方法getSingleton了解到了他的核心流程无非是:通过一个简单工厂的getObject方法来实例化bean,当然spring在实例化前后提供了扩展如:bef…...
前端导出文件时,后端代码出错如何将错误信息返回给前端展示
功能说明:前端导出excel时,后端出现异常,比如sql异常,或者创建excel时出现的异常,希望将这些异常信息返回给前端查看。 框架:vue3 axios Springboot 实现难度分析:前端导出excel,…...
解决Spring Boot应用中的内存优化问题
解决Spring Boot应用中的内存优化问题 大家好,我是微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿! 1. Spring Boot应用的内存管理 在开发和部署Spring Boot应用时,有效地管理内存是确保应用性能和稳…...
 
shark云原生-日志体系-filebeat高级配置(适用于生产)-更新中
文章目录 1. filebeat.inputs 静态日志收集器2. filebeat.autodiscover 自动发现2.1. autodiscover 和 inputs2.2. 如何配置生效2.3. Providers 提供者2.4. Providers kubernetes2.5. 配置 templates2.5.1. kubernetes 自动发现事件中的变量字段2.5.2 配置 templates 2.6. 基于…...
 
C++实现分布式网络通信框架RPC(3)--rpc调用端
目录 一、前言 二、UserServiceRpc_Stub 三、 CallMethod方法的重写 头文件 实现 四、rpc调用端的调用 实现 五、 google::protobuf::RpcController *controller 头文件 实现 六、总结 一、前言 在前边的文章中,我们已经大致实现了rpc服务端的各项功能代…...
 
MFC内存泄露
1、泄露代码示例 void X::SetApplicationBtn() {CMFCRibbonApplicationButton* pBtn GetApplicationButton();// 获取 Ribbon Bar 指针// 创建自定义按钮CCustomRibbonAppButton* pCustomButton new CCustomRibbonAppButton();pCustomButton->SetImage(IDB_BITMAP_Jdp26)…...
 
iPhone密码忘记了办?iPhoneUnlocker,iPhone解锁工具Aiseesoft iPhone Unlocker 高级注册版分享
平时用 iPhone 的时候,难免会碰到解锁的麻烦事。比如密码忘了、人脸识别 / 指纹识别突然不灵,或者买了二手 iPhone 却被原来的 iCloud 账号锁住,这时候就需要靠谱的解锁工具来帮忙了。Aiseesoft iPhone Unlocker 就是专门解决这些问题的软件&…...
 
为什么需要建设工程项目管理?工程项目管理有哪些亮点功能?
在建筑行业,项目管理的重要性不言而喻。随着工程规模的扩大、技术复杂度的提升,传统的管理模式已经难以满足现代工程的需求。过去,许多企业依赖手工记录、口头沟通和分散的信息管理,导致效率低下、成本失控、风险频发。例如&#…...
 
ESP32读取DHT11温湿度数据
芯片:ESP32 环境:Arduino 一、安装DHT11传感器库 红框的库,别安装错了 二、代码 注意,DATA口要连接在D15上 #include "DHT.h" // 包含DHT库#define DHTPIN 15 // 定义DHT11数据引脚连接到ESP32的GPIO15 #define D…...
Frozen-Flask :将 Flask 应用“冻结”为静态文件
Frozen-Flask 是一个用于将 Flask 应用“冻结”为静态文件的 Python 扩展。它的核心用途是:将一个 Flask Web 应用生成成纯静态 HTML 文件,从而可以部署到静态网站托管服务上,如 GitHub Pages、Netlify 或任何支持静态文件的网站服务器。 &am…...
 
2021-03-15 iview一些问题
1.iview 在使用tree组件时,发现没有set类的方法,只有get,那么要改变tree值,只能遍历treeData,递归修改treeData的checked,发现无法更改,原因在于check模式下,子元素的勾选状态跟父节…...
 
DBAPI如何优雅的获取单条数据
API如何优雅的获取单条数据 案例一 对于查询类API,查询的是单条数据,比如根据主键ID查询用户信息,sql如下: select id, name, age from user where id #{id}API默认返回的数据格式是多条的,如下: {&qu…...
 
uniapp微信小程序视频实时流+pc端预览方案
方案类型技术实现是否免费优点缺点适用场景延迟范围开发复杂度WebSocket图片帧定时拍照Base64传输✅ 完全免费无需服务器 纯前端实现高延迟高流量 帧率极低个人demo测试 超低频监控500ms-2s⭐⭐RTMP推流TRTC/即构SDK推流❌ 付费方案 (部分有免费额度&#x…...
代理篇12|深入理解 Vite中的Proxy接口代理配置
在前端开发中,常常会遇到 跨域请求接口 的情况。为了解决这个问题,Vite 和 Webpack 都提供了 proxy 代理功能,用于将本地开发请求转发到后端服务器。 什么是代理(proxy)? 代理是在开发过程中,前端项目通过开发服务器,将指定的请求“转发”到真实的后端服务器,从而绕…...
