Node.js入门笔记2---下载安装Node.js

Node.js入门笔记2

  • Node.js下载并安装的步骤
    • 1.Node.js 环境的安装
    • 2. 区分 LTS 版本和 Current 版本的不同
    • 3.项目node管理版本工具
    • 4.Node.js 包管理工具
    • 5.MSI与ZIP文件格式的主要区别
    • 6. 选择好上面的内容,点击下载mis
    • 7. 环境配置

Node.js下载并安装的步骤

1.Node.js 环境的安装

点击跳转Node.js官网下载

根据自己电脑和项目的实际情况来选择合适自己的版本,解释汇总截图如下:
node截图

2. 区分 LTS 版本和 Current 版本的不同

在这里插入图片描述
① LTS 为长期稳定版,对于追求稳定性的企业级项目来说,推荐安装 LTS 版本的 Node.js。
②Current 为新特性尝鲜版,对热衷于尝试新特性的用户来说,推荐安装 Current 版本的 Node.js。但是,Current 版本中可能存在隐藏的 Bug 或安全性漏洞,因此不推荐在企业级项目中使用 Current 版本的 Node.js

3.项目node管理版本工具

node截图

Node.js 多版本管理及切换:在现代开发环境中,不同项目可能依赖不同版本的 Node.js,因此高效地管理和切换 Node.js 版本变得至关重要。

1.FNM(Fast Node Manager):FNM 是一个用 Rust 编写的高性能 Node.js 版本管理工具,支持跨平台(macOS、Linux 和 Windows)

2.NVM(Node Version Manager):NVM 是最流行的 Node.js 版本管理工具,支持 macOS 和 Linux 系统。它允许用户在同一台机器上安装和使用多个 Node.js 版本,并且可以轻松切换。

3.Docker:虽然Docker主要用于容器化应用程序,但它也可以用于版本管理。通过为每个Node.js项目创建一个包含特定Node.js版本的Docker容器,你可以确保项目的环境一致性。

如果你需要跨平台支持,推荐使用 FNM 或 Volta,它们对 Windows 的支持良好。
如果你追求速度,FNM 和 Volta 的安装与切换速度非常快。
如果你是初学者,NVM 和 n 都是不错的选择,它们操作简单且社区支持强大。(作者选择的nvm

4.Node.js 包管理工具

node截图

1.npm (Node Package Manager):npm 是 Node.js 的官方包管理工具,用于管理和分发 JavaScript 库和应用程序。其主要功能包括安装、共享以及更新 JavaScript 代码包或库1。npm 使用 package-lock 文件锁定依赖版本,确保不同开发环境的一致性。尽管早期版本存在性能和安全上的不足之处,但随着迭代改进,这些问题已得到显著优化。

2.Yarn:Yarn 被设计成更高效稳定的替代方案,在并发下载与本地缓存方面表现出色,从而加快了依赖项获取的速度。此外,yarn.lock 文件同样保障了跨平台构建时依赖关系的一致性和可预测性。值得注意的是,Yarn 提供额外的安全审计机制——yarn audit,有助于识别潜在漏洞并维护软件供应链健康。

3.PNPM (Performant Node Package Manager):PNPM 致力于提高资源利用率,通过硬链接技术实现全局唯一副本存储模式,有效减少了磁盘占用量的同时也加速了多项目间的依赖同步过程。这种策略不仅降低了冗余度还提升了整体效率。

5.MSI与ZIP文件格式的主要区别

1.文件结构和目的不同
MSI文件是一种安装包格式,专门设计用于Windows操作系统中的软件部署。这种格式包含了应用程序所需的全部组件以及安装逻辑脚本,支持复杂的安装流程控制、注册表修改等功能。

相比之下,ZIP文件则是一个简单的压缩容器,旨在减少文件体积并便于传输或存档多份文档资料。ZIP并不具备执行任何类型的安装过程的能力,仅提供解压后的原始文件恢复功能。

2.安全性和权限管理
由于MSI内置了丰富的安全特性,比如数字签名验证机制来确保来源可靠,还能通过组策略对象(Group Policy Object,GPO)实现企业级的大规模自动化分发部署方案。此外,在某些情况下还可以设置特定条件下的自定义动作,如检测现有版本是否已存在从而决定更新方式等复杂行为模式。

而ZIP因为缺乏这些高级别的安全性考量,所以在涉及到敏感信息保护或者需要严格管控的应用场景下不如前者适用。不过对于日常生活中分享图片视频之类的简单需求来说已经绰绰有余了。
node截图

6. 选择好上面的内容,点击下载mis

1.安装包下载结束后,点击安装:
node截图

2.选中 I accept the terms in the License Agreement,然后点击next
node截图
3.选择安装路径,一般为了电脑后期不要开卡顿,建议不选c盘,这里作者选择的d盘
node截图
node

4.不选中选项,直接点击next
node截图
5.点击安装

node截图
6.点击finish,完成安装
node截图

7.测试安装是否成功,按下【win+R】键,输入cmd,打开cmd窗口
然后依次输入:

    		node -v     // 显示node.js版本npm -v      // 显示npm版本

node截图
显示版本号说明,安装成功

7. 环境配置

1.找到刚刚安装的目录,在安装目录下新建两个文件夹【node_global】和【node_cache】
node截图
2.创建完毕后,复制刚刚创建的【node_global】和【node_cache】文件夹路径在cmd命令分别输入以下两条命令,注意不要两条命令的文件路径不要搞混了。注意:cmd需要管理员身份运行!!!

①npm config set prefix “你的路径\node_global” (复制刚刚所创建的“node_global”文件夹路径)

npm config set prefix "D:\common\develop\Nodejs\node_global"

②npm config set cache “你的路径\node_cache” (复制刚刚所创建的“node_cache”文件夹路径)

npm config set cache "D:\common\develop\Nodejs\node_cache"

node截图
3.然后验证是否成功:输入命令后,如果没有显示路径则需要重复2的步骤。有路径显示,则成功了。

①npm config set prefix

npm config set prefix

②npm config set cache

npm config set cache

node截图
4.配置环境变量步骤

此电脑 =》单击右键 =》属性 =》高级系统设置 =》环境变量:
node截图
找到系统变量 =》 点击新建 :
node截图
添加系统变量:
变量名:NODE_PATH
变量值:【自己的node_global文件路径】\node_modules
node截图
用户变量=》选中path=》点击右下角【编辑】:
node截图
将默认的 C 盘下【 AppData\Roaming\npm 】路径修改成 【node_global】的路径,点击【确定】:
node截图
node截图
在【系统变量】=》选择【Path】点击【编辑】=》点击新建【%NODE_PATH%】,随后一直点击【确定】直到关闭所有窗口即可
node截图
node截图
5.配置完成后,全局安装一个最常用的 express 模块进测试(使用管理员方式打开cmd

在这里插入图片描述安装完express模块之后就会发现在【node_global】里自动多出了一个【node_modules】文件夹

node截图

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/31176.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【阿里云】控制台使用指南:从创建ECS到系统诊断测评

前言 随着云计算技术的快速发展,越来越多的企业和开发者开始使用云服务来部署和管理应用程序。在众多云服务提供商中,阿里云(Alibaba Cloud)凭借其强大的基础设施和丰富的服务,成为了众多用户的首选。本文旨在介绍如何…

【Linux内核系列】:深入理解缓冲区

🔥 本文专栏:Linux 🌸作者主页:努力努力再努力wz ★★★ 本文前置知识: 文件系统以及相关系统调用接口 输入以及输出重定向 那么在此前的学习中,我们了解了文件的概念以及相关的系统调用接口,并…

21.HarmonyOS Next CustomSlider组件步长控制教程(三)

温馨提示:本篇博客的详细代码已发布到 git : https://gitcode.com/nutpi/HarmonyosNext 可以下载运行哦! 文章目录 1. 步长控制概述2. 步长基本概念2.1 什么是步长?2.2 步长的作用 3. 设置步长3.1 基本参数3.2 代码示例 4. 步长与范围的关系4…

如何安装mitmproxy需要的证书(CA)

双击所需要安装的证书。 这里我就为整个计算机安装证书了,当然也可以只为自己安装。 接着就一路下一步,直到需要你输入密码这一块。 这里需要知道 CA 的密码。 我这里以 mitmproxy 需要的 CA 为例。官网上写明了是需要 Blank,所以就直接下一…

【Linux系统编程】基本IO函数

目录 1、open 函数2、create 函数3、write 函数4、read 函数5、lseek 函数6、access 函数7、unlink 函数8、remove 函数9、fcntl 函数写锁互斥锁示例读锁共享锁示例 1、open 函数 头文件 #include<sys/types.h> #include<sys/stat.h>#include<fcntl.h>…

Rancher证书到期致使平台无法浏览故障解决

1、修改系统时间&#xff0c;停止时间滚动更新。 # 关闭ntp同步&#xff0c;防止时间自动更新回来 timedatectl set-ntp false # 修改节点时间 timedatectl set-time 2020-07-01 00:00:00 2、重启容器。 #获取容器ID rancher_server_iddocker ps -a|grep -v CONTAINER|awk {…

tcc编译器教程6 进一步学习编译gmake源代码

本文以编译gmake为例讲解如何使用tcc进行复杂一点的c代码的编译 1 简介 前面主要讲解了如何编译lua解释器,lua解释器的编译很简单也很容易理解.当然大部分c语言程序编译没那么简单,下面对前面的gmake程序进行编译. 2 gmake源码结构 首先打开之前tcc-busybox-for-win32\gmak…

数据库基本建表操作

1.登录数据库并创建数据库db_ck 创建完成后使用到我们创建的数据库。 2.创建表t_hero 根据hero属性包括&#xff08;id&#xff0c;name&#xff0c;nickname&#xff0c;age&#xff0c;gender&#xff0c;address&#xff0c;weapon&#xff0c;types&#xff09; 创建完…

标准卷积(Standard Convolution)

标准卷积的基础操作图解&#xff1a; 卷积之后尺寸公式&#xff1a; 输入尺寸&#xff1a;WH卷积核尺寸&#xff1a;Fw​Fh​填充大小&#xff1a;P步长&#xff1a;S 输出尺寸 WoutHout可以通过以下公式计算&#xff1a; 其中[x]表示向下取整。 实例&#xff1a; 输入图像…

初阶数据结构习题【14】(4栈和队列)——225. 用队列实现栈

1. 题目描述 力扣在线OJ——225. 用队列实现栈 请你仅使用两个队列实现一个后入先出&#xff08;LIFO&#xff09;的栈&#xff0c;并支持普通栈的全部四种操作&#xff08;push、top、pop 和 empty&#xff09;。 实现 MyStack 类&#xff1a; void push(int x) 将元素 x …

使用NVM工具管理Node版本

Date: 2025.03.10 14:53:55 author: lijianzhan NVM&#xff08;Node Version Manager&#xff09;用于在同一个系统上管理多个 Node.js 版本,NVM 允许你安装、使用和切换不同的 Node.js 版本。这对于前端工作人员来说可以更方便的管理和维护不同nodejs版本的项目。 &#xff0…

vue使用slot时子组件的onUpdated执行问题

vue使用slot时子组件的onUpdated执行问题 在使用 Vue 的插槽 (slot) 功能时&#xff0c;可能会遇到一个问题&#xff1a;当父组件的任何状态更新时&#xff0c;子组件的 onUpdated 事件会被触发。这个问题在使用默认插槽时尤为明显。 为了避免这种情况&#xff0c;可以使用作用…

淘立方电商前端网站(HTML开发)源代码

一、页面展示 &#xff08;一&#xff09;欢迎界面 &#xff08;二&#xff09;首页 &#xff08;三&#xff09;登录界面 &#xff08;四&#xff09;女装界面 &#xff08;五&#xff09;女鞋界面 &#xff08;六&#xff09;商品详情页 &#xff08;七&#xff09;注册界面…

Flutter:StatelessWidget vs StatefulWidget 深度解析

目录 1. 引言 2. StatelessWidget&#xff08;无状态组件&#xff09; 2.1 定义与特点 2.2 代码示例 3. StatefulWidget&#xff08;有状态组件&#xff09; 3.1 定义与特点 3.2 代码示例 4. StatelessWidget vs StatefulWidget 对比 5. StatefulWidget 生命周期 5.1…

大模型是如何工作的

近几十年来&#xff0c;人工智能经历了从基础算法到生成式AI的深刻演变。生成式AI通过学习大量数据可以创造出全新的内容&#xff0c;如文本、图像、音频和视频&#xff0c;这极大地推动了AI技术的广泛应用。常见的应用场景包括智能问答&#xff08;如通义千问、GPT&#xff09…

SSL VXN

SSL VPN是采用SSL&#xff08;Security Socket Layer&#xff09;/TLS&#xff08;Transport Layer Security&#xff09;协议来实现远程接入的一种轻量级VPN技术,其基于B/S架构&#xff0c;免于安装客户端&#xff0c;相较与IPSEC有更高的灵活度和管理性&#xff0c;当隧道建立…

【C】链式二叉树算法题2

目录 1 另一棵树的子树 1&#xff09; 题目描述 示例1&#xff1a; 示例2&#xff1a; 2&#xff09; 算法解析 3&#xff09; 代码 2 二叉树的遍历 1&#xff09; 问题描述 2&#xff09; 算法解析 3&#xff09; 代码 3 总结 1 另一棵树的子树 leetcode链接…

【Java并发】【synchronized】适合初学者体质入门的synchronized

&#x1f44b;hi&#xff0c;我不是一名外包公司的员工&#xff0c;也不会偷吃茶水间的零食&#xff0c;我的梦想是能写高端CRUD &#x1f525; 2025本人正在沉淀中… 博客更新速度 &#x1f44d; 欢迎点赞、收藏、关注&#xff0c;跟上我的更新节奏 &#x1f4da;欢迎订阅专栏…

STM32---FreeRTOS消息队列

一、简介 1、队列简介&#xff1a; 队列&#xff1a;是任务到任务&#xff0c;任务到中断、中断到任务数据交流的一种机制&#xff08;消息传递&#xff09;。 FreeRTOS基于队列&#xff0c;实现了多种功能&#xff0c;其中包括队列集、互斥信号量、计数型信号量、二值信号量…

目标检测Anchor-based 与 Anchor-free

一.二者对比 anchor-free和anchor-based是两种不同的目标检测方法&#xff0c;区别在于是否使用预定义的anchor框来匹配真实的目标框。 anchor-based方法使用不同大小和形状的anchor框来回归和分类目标&#xff0c;例如faster rcnn、retinanet和yolo等。anchor-free&#xff0…