Node.js 和 npm 安装教程

Node.js 和 npm 安装教程

  • Node.js 和 npm 安装教程
    • 什么是 Node.js 和 npm?
      • Node.js
      • npm
    • 安装前的注意事项
    • 在 Windows 上安装 Node.js 和 npm
      • 步骤 1:访问 Node.js 官网
      • 步骤 2:选择适合的版本
      • 步骤 3:下载安装包
      • 步骤 4:运行安装向导
      • 步骤 5:验证安装
      • 步骤 6:设置环境变量(可选)
    • 在 macOS 上安装 Node.js 和 npm
      • 步骤 1:使用 Homebrew 安装(推荐)
        • 安装 Homebrew
        • 使用 Homebrew 安装 Node.js 和 npm
      • 步骤 2:使用官方 installer(替代方法)
    • 在 Linux 上安装 Node.js 和 npm
      • 使用系统包管理器(推荐)
        • Ubuntu/Debian 系统
        • CentOS/RHEL 系统
      • 使用 nvm 安装(进阶)
        • 安装 nvm
        • 使用 nvm 安装 Node.js 和 npm
    • 更新 Node.js 和 npm
      • 使用 npm update 命令
      • 使用官方 installer 更新
      • 使用 nvm 更新(进阶)
    • 验证安装
    • 使用 npm 包
    • 卸载 Node.js 和 npm
      • 在 Windows 上卸载
      • 在 macOS 上卸载
      • 在 Linux 上卸载
        • 使用 apt-get 的系统:
        • 使用 yum 的系统:

Node.js 和 npm 安装教程

在当今的 web 开发领域,Node.js 和 npm(Node Package Manager)是两个非常重要的技术。Node.js 是一个基于 JavaScript 的运行环境,可以用来构建高效的网络应用程序;而 npm 则是一个强大的包管理工具,帮助开发者快速安装和管理项目依赖库。无论你是新手还是有经验的开发者,掌握 Node.js 和 npm 的安装方法都是非常基础且必要的技能。

本文将详细指导你如何在不同的操作系统(Windows、macOS 和 Linux)上安装 Node.js 和 npm,并提供一些进阶的使用技巧和注意事项。希望通过这篇教程,你能顺利完成 Node.js 和 npm 的安装,为后续的学习和开发打下坚实的基础。


什么是 Node.js 和 npm?

Node.js

Node.js 是由 JavaScript 创建的一个开源、跨平台的服务器端运行环境。它允许你在服务端运行 JavaScript 代码,从而可以构建
高性能的网络应用程序。Node.js 具有以下特点:

  1. 单线程事件驱动:Node.js 使用事件循环来处理异步操作,适用于高并发场景。
  2. 高效的 I/O 操作:基于 libuv 库实现非阻塞 I/O,适合处理大量的并发请求。
  3. 模块化开发:通过 CommonJS 规范实现了模块化的代码结构,便于维护和扩展。
  4. 活跃的生态系统:Node.js 拥有庞大的社区支持和丰富的第三方库。

npm

npm(Node Package Manager)是 Node.js 的默认包管理工具。它帮助开发者轻松地安装、管理和升级项目所需的依赖包。通过
npm,你可以快速获取并集成各种现成的 JavaScript 库,从而提高开发效率。

npm 还提供了一个中央仓库(即 npm registry),包含了数百万个可重用的代码包。这些包经过社区验证和维护,确保了高质量和
稳定性。有了 npm,开发者可以专注于核心业务逻辑,而无需从头实现所有功能。


安装前的注意事项

在开始安装 Node.js 和 npm 之前,请注意以下几点:

  1. 操作系统兼容性:Node.js 支持 Windows、macOS 和大多数 Linux 发行版。请确保你的系统满足最低版本要求。
  2. 64-bit 系统:Node.js 官方仅提供 64-bit 版本的安装包,因此请确认你的计算机运行的是 64-bit 操作系统。
  3. 权限问题:在某些操作系统中,安装或更新 Node.js 可能需要管理员权限。运行命令行工具时,请确保你有足够的权限。
  4. 选择 LTS 版本:Node.js 官方会定期发布新版本,建议优先选择长期支持(LTS)版本,以保证稳定性和兼容性。

在 Windows 上安装 Node.js 和 npm

步骤 1:访问 Node.js 官网

打开浏览器,访问 Node.js 的官方下载页面:

https://nodejs.org

步骤 2:选择适合的版本

在官网首页,你会看到两个主要选项:“LTS”(长期支持版)和“Current”(最新版)。对于大多数项目,建议选择 LTS 版本,
因为它更稳定且有较长的支持周期。

点击“LTS”标签下的“Download for Windows”按钮。

步骤 3:下载安装包

下载完成后,你会得到一个名为 node-vXX.Y.Z-win-x64.msi 的文件。双击该文件开始安装。

步骤 4:运行安装向导

在安装向导中,保持默认设置,点击“Next”逐步完成安装。如果你不想更改安装路径或其他选项,可以直接选择“Customize”并
继续安装。

步骤 5:验证安装

安装完成后,打开命令提示符(CMD),输入以下命令检查 Node.js 和 npm 是否安装成功:

node -v
npm -v

如果输出类似以下结果,则表示安装成功:

node v18.12.0
npm 9.5.1

步骤 6:设置环境变量(可选)

为了方便后续使用,建议将 Node.js 和 npm 添加到系统的 PATH 环境变量中。通常情况下,Node.js 的安装程序会自动完成这一步
,但如果你发现命令提示符无法识别 nodenpm 命令,则需要手动配置环境变量。


在 macOS 上安装 Node.js 和 npm

步骤 1:使用 Homebrew 安装(推荐)

Homebrew 是 macOS 上最流行的包管理工具。如果你还没有安装 Homebrew,可以按照以下步骤操作:

安装 Homebrew

打开终端,运行以下命令:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

安装完成后,重启终端。

使用 Homebrew 安装 Node.js 和 npm

在终端中运行:

brew install node

这将同时安装 Node.js 和 npm。安装完成后,验证版本:

node -v
npm -v

步骤 2:使用官方 installer(替代方法)

如果你不熟悉 Homebrew,可以直接从 Node.js 官网下载 macOS 版本的安装包。

访问 https://nodejs.org,选择适合的 LTS 版本,并点击“Download for macOS”按钮。双击下载的
.pkg 文件,按照提示完成安装。


在 Linux 上安装 Node.js 和 npm

使用系统包管理器(推荐)

大多数 Linux 发行版都提供了官方的 Node.js 包,可以通过系统的包管理工具进行安装。

Ubuntu/Debian 系统

在终端中运行以下命令:

curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash -
sudo apt-get install -y nodejs

安装完成后,验证版本:

node -v
npm -v
CentOS/RHEL 系统

运行以下命令:

curl -fsSL https://rpm.nodesource.com/setup_lts.x | sudo -E bash -
sudo yum install -y nodejs

使用 nvm 安装(进阶)

如果你需要管理多个 Node.js 版本,可以使用 nvm(Node Version Manager)。

安装 nvm

运行以下命令:

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.5/install.sh | bash

安装完成后,重启终端或执行 source ~/.bashrc

使用 nvm 安装 Node.js 和 npm
nvm install --lts

这样会自动下载并安装最新的 LTS 版本,并设置为默认版本。


更新 Node.js 和 npm

使用 npm update 命令

Node.js 和 npm 提供了一个简便的命令来更新自身:

在终端中运行:

npm install -g node@latest npm@latest

注意:这种方法可能不会覆盖旧版本,具体取决于你的系统设置。

使用官方 installer 更新

你可以从 Node.js 官网下载最新版本的安装包,并按照之前的步骤进行替换安装。

使用 nvm 更新(进阶)

如果你使用了 nvm,更新非常简单:

nvm install --lts

或者指定具体版本:

nvm install v18.0.0

验证安装

无论你使用哪种操作系统,安装完成后都建议验证 Node.js 和 npm 是否正常工作。

在终端或命令提示符中输入以下命令:

node -v
npm -v

输出结果应该类似于:

v18.0.0
9.5.1

如果这两个命令都能正确显示版本信息,则说明安装成功。


使用 npm 包

一旦安装完成,你就可以开始使用 npm 安装各种包了。例如,运行以下命令可以安装 Express 框架:

npm install express

安装完成后,可以在你的项目目录中找到 node_modules 文件夹和 package.json 文件。


卸载 Node.js 和 npm

在 Windows 上卸载

你可以通过控制面板或直接删除 Node.js 安装目录来卸载。具体路径通常为:

C:\Program Files\nodejs\

在 macOS 上卸载

使用 Homebrew 卸载:

brew uninstall node

或者手动删除安装文件夹。

在 Linux 上卸载

根据你使用的包管理器进行操作:

使用 apt-get 的系统:
sudo apt-get remove --purge nodejs npm
使用 yum 的系统:
sudo yum erase nodejs

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

为AI聊天工具添加一个知识系统 之83 详细设计之24 度量空间之1 因果关系和过程:认知金字塔

本文要点 度量空间 在本项目(为AI聊天工具添加一个知识系统 )中 是出于对“用”的考量 来考虑的。这包括: 相对-位置 力用(“相”)。正如 法力,相关-速度 体用 (“体”)。例如 重…

Unity 2D实战小游戏开发跳跳鸟 - 跳跳鸟碰撞障碍物逻辑

在有了之前创建的可移动障碍物之后,就可以开始进行跳跳鸟碰撞到障碍物后死亡的逻辑,死亡后会产生一个对应的效果。 跳跳鸟碰撞逻辑 创建Obstacle Tag 首先跳跳鸟在碰撞到障碍物时,我们需要判定碰撞到的是障碍物,可以给障碍物的Prefab预制体添加一个Tag为Obstacle,添加步…

记录 | Docker的windows版安装

目录 前言一、1.1 打开“启用或关闭Windows功能”1.2 安装“WSL”方式1:命令行下载方式2:离线包下载 二、Docker Desktop更新时间 前言 参考文章:Windows Subsystem for Linux——解决WSL更新速度慢的方案 参考视频:一个视频解决D…

[SAP ABAP] 在ABAP Debugger调试器中设置断点

在命令框输入/H,点击回车以后,调试被激活,点击触发任意事件进入ABAP Debugger调试器界面 点击按钮,可以在Debugger调试器中新增临时断点 我们可以从ABAP命令、方法、功能、表单、异常、消息、源代码等多个维度在Debugger调试器中设…

深度学习之“线性代数”

线性代数在深度学习中是解决多维数学对象计算问题的核心工具。这些数学对象包括标量、向量、矩阵和张量,借助它们可以高效地对数据进行操作和建模。以下将详细介绍这些数学对象及其在深度学习中的典型用途。 数学对象概述 标量 标量是最简单的数学对象&#xff0…

【面经】字节南京一面部分题目记录

南京字节一面题,可能因为项目不太匹配,全程八股比较多,也有两道手撕代码题,强度还是有的。为了方便大家学习,大部分答案由GPT整理,有些题给出了我认为回答比较好的博客链接。 文章目录 一、python2 和 pyth…

17.3.4 颜色矩阵

版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的。 17.3.4.1 矩阵基本概念 矩阵(Matrix)是一个按照长方阵列排列的复数或实数集合,类似于数组。 由…

LabVIEW在电机自动化生产线中的实时数据采集与生产过程监控

在电机自动化生产线中,实时数据采集与生产过程监控是确保生产效率和产品质量的重要环节。LabVIEW作为一种强大的图形化编程平台,可以有效实现数据采集、实时监控和自动化控制。详细探讨如何利用LabVIEW实现这一目标,包括硬件选择、软件架构设…

mybatis(78/134)

前天学了很多&#xff0c;关于java的反射机制&#xff0c;其实跳过了new对象&#xff0c;然后底层生成了字节码&#xff0c;创建了对应的编码。手搓了一遍源码&#xff0c;还是比较复杂的。 <?xml version"1.0" encoding"UTF-8" ?> <!DOCTYPE …

【NLP251】Transformer精讲 残差链接与层归一化

精讲部分&#xff0c;主要是对Transformer的深度理解方便日后从底层逻辑进行创新&#xff0c;对于仅应用需求的小伙伴可以跳过这一部分&#xff0c;不影响正常学习。 1. 残差模块 何凯明在2015年提出的残差网络&#xff08;ResNet&#xff09;&#xff0c;Transformer在2016年…

全程Kali linux---CTFshow misc入门(25-37)

第二十五题&#xff1a; 提示&#xff1a;flag在图片下面。 直接检查CRC&#xff0c;检测到错误&#xff0c;就直接暴力破解。 暴力破解CRC的python代码。 import binascii import struct def brute_force_ihdr_crc(filename): # 读取文件二进制数据 with open(filen…

OpenAI深夜反击:o3-mini免费上线,能否撼动DeepSeek的地位?

还在为寻找合适的 AI 模型而烦恼吗&#xff1f;chatTools 平台为您精选 o1、GPT4o、Claude、Gemini 等顶尖 AI 模型&#xff0c;满足您不同的 AI 应用需求。立即体验强大的 AI 能力&#xff01; 深夜反击&#xff0c;OpenAI祭出o3-mini 在DeepSeek异军突起&#xff0c;搅动AI行…

蓝桥杯备考:模拟算法之字符串展开

P1098 [NOIP 2007 提高组] 字符串的展开 - 洛谷 | 计算机科学教育新生态 #include <iostream> #include <cctype> #include <algorithm> using namespace std; int p1,p2,p3; string s,ret; void add(char left,char right) {string tmp;for(char ch left1;…

NLP深度学习 DAY5:Sequence-to-sequence 模型详解

Seq2Seq&#xff08;Sequence-to-Sequence&#xff09;模型是一种用于处理输入和输出均为序列任务的深度学习模型。它最初被设计用于机器翻译&#xff0c;但后来广泛应用于其他任务&#xff0c;如文本摘要、对话系统、语音识别、问答系统等。 核心思想 Seq2Seq 模型的目标是将…

于动态规划的启幕之章,借 C++ 笔触绘就算法新篇

注意&#xff1a;代码由易到难 P1216 [IOI 1994] 数字三角形 Number Triangles 题目链接&#xff1a;[IOI 1994] 数字三角形 Number Triangles - 洛谷 题目描述 观察下面的数字金字塔。 写一个程序来查找从最高点到底部任意处结束的路径&#xff0c;使路径经过数字的和最大。每…

Three.js 后期处理(Post-Processing)详解

目录 前言 一、什么是后期处理&#xff1f; 二、Three.js 后期处理的工作流程 2.1 创建 EffectComposer 2.2 添加渲染通道&#xff08;Render Pass&#xff09; 2.3 应用最终渲染 三、后期处理实现示例 3.1 基础代码 四、常见的后期处理效果 4.1 辉光效果&#xf…

低代码系统-产品架构案例介绍、炎黄盈动-易鲸云(十二)

易鲸云作为炎黄盈动新推出的产品&#xff0c;在定位上为低零代码产品。 开发层 表单引擎 表单设计器&#xff0c;包括设计和渲染 流程引擎 流程设计&#xff0c;包括设计和渲染&#xff0c;需要说明的是&#xff1a;采用国际标准BPMN2.0&#xff0c;可以全球通用 视图引擎 视图…

从 HTTP/1.1 到 HTTP/3:如何影响网页加载速度与性能

一、前言 在最近使用Apipost时&#xff0c;突然注意到了http/1.1和http/2&#xff0c;如下图&#xff1a; 在我根深蒂固的记忆中&#xff0c;对于http的理解还停留在TCP协议、三次握手。由于我的好奇心&#xff0c;于是触发了我被动“开卷”&#xff0c;所以有了这篇文章&…

项目练习:重写若依后端报错cannot be cast to com.xxx.model.LoginUser

文章目录 一、情景说明二、解决办法 一、情景说明 在重写若依后端服务的过程中 使用了Redis存放LoginUser对象数据 那么&#xff0c;有存就有取 在取值的时候&#xff0c;报错 二、解决办法 方法1、在TokenService中修改如下 getLoginUser 方法中&#xff1a;LoginUser u…

C语言------二维数组指针从入门到精通

前言: 目标:需要了解及掌握数组指针的行地址、列地址、具体元素地址、具体元素地址的值是怎样定义及实现。 重点:指针的偏移,指针解引用。 难点:指针的升阶与降阶。 1. 基本概念 二维数组&#xff1a;二维数组可以看作是一个数组的数组。例如&#xff0c;int a[3][4] 表示一个 …