【保姆级】Node.js 最新安装教程,附环境变量配置

【保姆级】Node.js 最新安装教程,附环境变量配置

🎬 博主名称:超级苦力怕

🔥 个人专栏:《Java成长录》《AI 工具使用目录》

🚀 每一次思考都是突破的前奏,每一次复盘都是精进的开始!


安装目录

零基础安装 Node.js(Windows)

  • 你只要照做:下载 -> 安装 -> 配环境变量 -> 验证
  • 看不懂没关系:每张图就是上一步文字的结果

1. 下载安装包

  1. 打开官网下载页:官网下载传送门

想下载旧版本:在页面里找到“之前的版本/历史版本”入口

在这里插入图片描述

选择你的系统版本,点击 Windows 安装包(.msi) 下载

在这里插入图片描述

2. 安装程序

  1. 双击下载好的 .msi,一路点 Next
  2. 到选择安装位置这一步:建议不要装在 C 盘(选 D/E 盘即可)、建议目录中不要包含中文、空格以及特殊字符
在这里插入图片描述


3. 这一步保持默认即可

在这里插入图片描述


4. 继续 Next

在这里插入图片描述


5. 点击 Install 开始安装

在这里插入图片描述
  1. 验证是否安装成功

点击 Finish 完成安装

在这里插入图片描述
  • Win + R,输入 cmd 回车
  • 输入:node -v 回车,再输入:npm -v 回车
在这里插入图片描述


能看到版本号,说明安装成功。

3. 环境配置(照做即可)

3.1 新建两个文件夹

进入这两个文件夹,复制它们的“文件夹地址”(后面要用)

在这里插入图片描述

打开你的 Node.js 安装目录,新建两个文件夹:node_cachenode_global

在这里插入图片描述

3.2 设置 npm 的全局目录和缓存

  1. Win + X -> 选择 终端(管理员),分别执行下面两条命令(把路径换成你自己的)
npm config set prefix "D:\Deleloper\runtimes\NodeJS\node_global"
npm config set cache "D:\Deleloper\runtimes\NodeJS\node_cache"

注意:一定要用“管理员”打开终端,否则可能失败。

拓充prefix设置 npm 全局安装包 的存放目录,当使用npm install -g package-name安装全局包的时候,会默认安装到此目录,从而统一管理Node.js相关文件。cache设置 npm 下载缓存 的存放目录,将下载的包先缓存到这里,下次安装同版本时直接使用缓存,从而节省空间,加快安装速度。
  1. 检查是否设置成功(复制粘贴执行):
npm config get prefix npm config get cache 

显示的是你自己的文件夹地址,就说明对了。

在这里插入图片描述

3.3 配环境变量

  1. 点击“新建”,创建系统变量 NODE_PATH

右键“此电脑” -> “属性” -> “高级系统设置” -> “环境变量”

*

变量值:node_global文件夹 的路径 + \node_modules

在这里插入图片描述
  1. 在“用户变量”里编辑 Path

把默认的 ...AppData\Roaming\npm 改成你的 node_global 路径

在这里插入图片描述


在这里插入图片描述
  1. 在“系统变量”里选择 Path -> “编辑” -> “新建” -> 输入:%NODE_PATH%

一路点“确定”保存,关闭所有窗口后,重新打开 终端/命令行(这一步很关键)

在这里插入图片描述

4. 测试(配置有没有生效)

  1. Win + X -> 选择 终端(管理员)
  2. 执行下面命令(安装一个全局包做验证)
npminstall express -g // -g代表全局安装 

看到安装成功的输出,就说明配置成功。

在这里插入图片描述

5. (推荐)设置 npm 国内镜像(下载更快)

如果你发现 npm install 很慢,再做这一步:

  1. Win + X -> 选择 终端(管理员),执行:
npm config set registry https://registry.npmmirror.com 
  1. 验证:
npm config get registry 

显示 https://registry.npmmirror.com 就成功。


到这里,你的 Node.js 安装与环境变量配置就完成了。

6. 拓充:常见问题

后续会基于新的问题不断添加

6.1 权限不足 (EPERM)

在使用的时候报错较多,显示EPERM错误,这个错误通常是因为文件/文件夹权限问题导致的,错误示例如下:

在这里插入图片描述


解决方案
键盘【Win+X】,打开终端管理员,重新尝试。如果不行,需要修改Node.js安装目录权限,修改npm缓存目录权限,仍旧在终端管理员执行下述命令。

# 修改Node.js安装目录权限 icacls "你的Node.js安装目录" /grant Users:F /T #修改npm缓存目录权限 icacls "你的node_global目录" /grant Users:F /T icacls "你的node_cache目录" /grant Users:F /T 

可以通过以下指令,获取你对应的目录

#npm缓存目录npm config get prefix npm config get cache 

示例如下

icacls "D:\Deleloper\runtimes\NodeJS" /grant Users:F /T icacls "D:\Deleloper\runtimes\NodeJS\node_global" /grant Users:F /T icacls "D:\Deleloper\runtimes\NodeJS\node_cache" /grant Users:F /T 

Read more

【C++----红黑树封装set / map底层大致封装】在C++的世界里,每一次编译都是对智慧的考验,每一次调试都是对耐心的磨砺。开发者们在这里不断学习、成长,用代码编织出一个个精彩纷呈的故事。

【C++----红黑树封装set / map底层大致封装】在C++的世界里,每一次编译都是对智慧的考验,每一次调试都是对耐心的磨砺。开发者们在这里不断学习、成长,用代码编织出一个个精彩纷呈的故事。

红黑树 set / map封装 * 1 封装红⿊树实现set和map * 1.1对底层源码及框架分析 * 2. 模拟实现map和set * 2.1 实现出复⽤红⿊树的框架,并⽀持insert * 2.2 ⽀持iterator的实现 * 2.2.1红黑树迭代器结构 * 2.2.2 迭代器++ * 2.2.4 iterator-- * 3 注意须知 [实现map/set] * 3.1 map[]实现 * 3.2代码实现 1 封装红⿊树实现set和map 1.1对底层源码及框架分析 SGI-STL30版本源代码,map和set的源代码在map/set/stl_

By Ne0inhk
【C++】现代C++的新特性constexpr,及其在C++14、C++17、C++20中的进化

【C++】现代C++的新特性constexpr,及其在C++14、C++17、C++20中的进化

各位读者大佬好,我是落羽!一个坚持不断学习进步的学生。 如果您觉得我的文章还不错,欢迎多多互三分享交流,一起学习进步! 也欢迎关注我的blog主页:落羽的落羽 文章目录 * 一、从C++11引入 * 1. 常量表达式和constexpr关键字的概念 * 2. constexpr修饰函数 * 二、constexpr在C++14中的进化 * 三、constexpr在C++17中的进化 * 四、constexpr在C++20中的进化 一、从C++11引入 1. 常量表达式和constexpr关键字的概念 现代C++,从C++11开始,引入了常量表达式和constexpr关键字的概念,并且在之后的C++标准中不断更新 常量表达式是指,值不会改变并且在编译过程中就能得到计算结果的表达式。用字面量、常量表达式初始化的const对象都是常量表达式。但是用变量初始化的const对象不是常量表达式。 constint a =1;//a是常量表达式constint b = a +1;//b是常量表达式int c

By Ne0inhk
自动驾驶中间件iceoryx - (附录)C++ 内存模型与原子操作详解

自动驾驶中间件iceoryx - (附录)C++ 内存模型与原子操作详解

附录A: C++ 内存模型与原子操作详解 📚 本附录内容 本附录深入讲解 C++ 11引入的内存模型(Memory Model)和原子操作(Atomic Operations), 这是理解 iceoryx 等高性能进程间通信系统无锁机制的核心基础。 适合读者:想深入理解 acquire/release 内存序语义需要实现或优化无锁数据结构想理解 iceoryx 内部同步机制的原理对并发编程和性能优化感兴趣的开发者 与主文档的关系:本附录是 第5章 同步与通知机制 的扩展阅读主文档 5.2.3 节提供了简化版本,适合快速学习本附录提供完整的技术细节和深入分析 目录 * A.1 为什么需要内存序 * A.2 C++ 内存序类型 * A.3 实例:生产者-消费者 * A.4 iceoryx 中的内存序使用 * A.5

By Ne0inhk
【C++】深入拆解二叉搜索树:从递归与非递归双视角,彻底掌握STL容器的基石

【C++】深入拆解二叉搜索树:从递归与非递归双视角,彻底掌握STL容器的基石

【C++】深入拆解二叉搜索树:从递归与非递归双视角,彻底掌握STL容器的基石 * 摘要 * 目录 * 一、概念 * 二、 性能分析 * 三、key结构非递归模拟实现 * 1. 二叉搜索树的插入 * 2. 二叉搜索树的查找 * 3. 二叉搜索树的删除 * 4. 二叉搜索树的中序遍历 * 四、key结构递归的模拟实现 * 1. 递归与非递归二叉搜索树核心操作的对比 * 2. 递归插入 * 3. 递归查找 * 4. 递归删除 * 总结 摘要 二叉搜索树(BST)是一种重要的数据结构,它通过"左子树所有节点值小于根节点,右子树所有节点值大于根节点"的特性实现高效的元素组织。本文详细解析了BST的核心概念、性能特点,并分别通过非递归和递归两种方式完整实现了插入、查找、删除等关键操作,深入探讨了指针引用在递归实现中的巧妙应用,以及两种实现方式在时间复杂度、空间复杂度和适用场景上的差异。 目录

By Ne0inhk