2024年最新的 Node.js 安装与环境配置教程

以下是2024年最新的 Node.js 安装与环境配置教程,适用于 Windows、macOS 和 Linux 系统。

一、什么是 Node.js?

Node.js 是一个基于 V8 引擎的 JavaScript 运行环境,主要用于开发服务端应用程序。它的特点是异步事件驱动和非阻塞 I/O,适合高性能应用。

二、Node.js 安装

1. 下载 Node.js 安装包

前往 Node.js 官方网站:Node.js 官网

  • 长期支持版本 (LTS):推荐用于生产环境。
  • 最新版本 (Current):适合尝试新功能或非生产环境。

2024 最新版本:当前 LTS 版本为 20.x,最新版本为 21.x

2. 安装 Node.js

Windows 系统

  1. 下载 MSI 安装包
    • 下载适合你系统架构的版本(32 位或 64 位)。
  2. 运行安装程序
    • 双击安装程序,按照提示完成安装。
    • 选中“Add to PATH”选项,这样可以自动配置环境变量。
  3. 验证安装: 打开命令行工具(如 PowerShell 或 CMD),输入:bash复制代码
node -v
npm -v

如果显示 Node.js 和 npm 的版本号,则安装成功。

macOS 系统

  1. 使用官方安装包
    • 下载 .pkg 文件并运行安装程序。
  2. 使用 Homebrew 安装(推荐): 如果你已安装 Homebrew,可通过以下命令安装:
brew install node

3. 验证安装: 打开终端,输入:

node -v
npm -v

Linux 系统

Node.js 提供适用于主流 Linux 发行版的安装方法:

使用 NodeSource 安装
  1. 添加 NodeSource 仓库:bash复制代码
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -

替换 20.x 为所需的 Node.js 版本。

2. 安装 Node.js:

sudo apt-get install -y nodejs

3. 验证安装:

node -v
npm -v
使用包管理工具安装
  • Debian/Ubuntu
sudo apt update
sudo apt install -y nodejs npm

CentOS/RHEL

sudo yum install -y nodejs

3. Node.js 的多版本管理

开发时可能需要管理多个 Node.js 版本,推荐使用 nvm(Node Version Manager)。

安装 nvm:

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

注意:替换为最新版本号 v0.39.5

使用 nvm:

  1. 列出可用版本:
nvm ls-remote

2. 安装指定版本:

nvm install 20.6.0

3. 切换版本:

nvm use 20.6.0

4. 设置默认版本:

nvm alias default 20.6.0

三、环境配置

1. 检查全局路径和权限

验证全局包路径:

npm config get prefix

如果权限不足,可修改全局路径:

mkdir "${HOME}/.npm-global"
npm config set prefix "${HOME}/.npm-global"

将路径加入环境变量:

export PATH="${HOME}/.npm-global/bin:${PATH}"

2. 配置镜像源(国内用户)

国内用户可将 npm 源切换到更快的镜像:

npm config set registry https://registry.npmmirror.com/

验证配置:

npm config get registry

四、测试 Node.js 开发环境

1. 运行 Hello World 程序

创建一个文件 app.js,输入以下内容:

const http = require('http');

const server = http.createServer((req, res) => {
  res.statusCode = 200;
  res.setHeader('Content-Type', 'text/plain');
  res.end('Hello, World!\n');
});

server.listen(3000, () => {
  console.log('Server running at http://localhost:3000/');
});

运行程序:

node app.js

访问 http://localhost:3000 查看输出。

2. 安装常用全局工具

安装一些常用的 Node.js 工具来辅助开发:

  • nodemon:自动重启 Node.js 应用。
npm install -g nodemon

eslint:代码质量检查工具。

npm install -g eslint

五、常见问题及解决

  1. npm 版本过旧: 升级 npm:
npm install -g npm@latest

2. 权限错误: 如果在安装全局包时遇到权限问题,考虑使用 nvm 或配置本地路径。

3. 路径未配置: 确保 nodenpm 已添加到 PATH 环境变量中。

通过上述步骤,你的 Node.js 环境应该已经安装完毕,并可以开始开发了!🎉

发布者:myrgd,转载请注明出处:https://www.object-c.cn/4436

Like (0)
Previous 2024年11月23日 下午1:56
Next 2024年11月23日 下午2:09

相关推荐

  • 如何使用uni-app-qrcode插件生成二维码?

    以下是使用uni-app-qrcode插件生成二维码的详细步骤: 安装插件 或者使用yarn进行安装: 引入插件 使用插件生成二维码 上述代码中,首先定义了要编码到二维码中的内容content和生成二维码的配置选项options,然后通过this.$refs.qrcodeCanvas获取页面中的canvas元素,最后调用QRCode.make方法生成二维码。…

    2024年12月22日
    00
  • 微信小程序RequestTask.onChunkReceived 监听分块数据接收事件接口

    在微信小程序中,RequestTask.onChunkReceived 是用于监听分块数据接收事件的接口。此功能适用于需要逐步接收大数据(例如流媒体、文件分块等)的场景,可以显著提升大文件传输的性能和用户体验。 以下是详细介绍和使用方法: 1. 功能说明用途:监听通过 wx.request 或 wx.downloadFile 发起的请求过程中,每次接收到的数…

    2024年11月28日
    00
  • 在 uni-app 小程序中,使用 uni.getLocation 获取用户位置信息等

    在 uni-app 小程序 中,使用 uni.getLocation 获取用户位置后,可以通过 腾讯地图 API 将经纬度转化为详细的地址信息(如省、市、区、街道等)。以下是完整的操作流程: 1. 前置准备:开通腾讯地图 API 服务注册腾讯位置服务账号:登录 腾讯位置服务官网。创建项目并获取 Key:进入 控制台,创建新应用,选择 小程序。获取生成的 ke…

    2024年11月26日
    00
  • 修复 Elementor 网站上出现的 HTTPS 400 错误请求(服务器错误)

    在修复 Elementor 网站上出现的 HTTPS 400 错误请求(服务器错误)时,您需要采取以下步骤来排查和解决问题。这类错误通常与服务器配置、插件冲突或 HTTPS 配置相关。 1. 检查 HTTPS 配置 2. 排查插件冲突 3. 检查主题兼容性 4. 调整服务器配置 URL 重写规则: 5. 清理缓存 6. 检查网络请求 7. 联系主机服务商 如…

    2024年12月9日
    00
  • Python 的 json模块序列化数据从文件里读取出来或存入文件

    Python 的 json 模块用于处理 JSON 格式的数据,可以将 JSON 数据与 Python 数据结构之间相互转换。以下是具体用法,包括从文件读取 JSON 数据以及将数据写入文件: 1. 将 JSON 数据从文件中读取到 Python 数据结构 代码示例: 解析过程: 2. 将 Python 数据结构写入到文件中(序列化为 JSON) 代码示例:…

    2024年11月26日
    00
  • 在Spring Boot中,利用AOP(Aspect-Oriented Programming)实现操作日志记录。

    在Spring Boot中,利用AOP(Aspect-Oriented Programming)结合自定义注解,可以优雅地实现操作日志记录。这种方式不仅解耦了业务逻辑与日志记录功能,还能让代码更简洁、可维护性更高。 以下是实现步骤: 1. 项目依赖 在Spring Boot项目中,确保以下依赖已存在(默认spring-boot-starter-aop随spr…

    2024年11月23日
    00
  • 云服务器的 宝塔面板 中配置 PHP 支持 WebP 格式的图片

    在云服务器的 宝塔面板 中配置 PHP 支持 WebP 格式的图片,主要是通过安装或启用 GD 库或者 ImageMagick 来实现 WebP 图片的处理支持。下面是一步步的操作方法:1. 确保服务器已经安装 WebP 扩展WebP 格式的支持需要 PHP 依赖于 GD 库或 ImageMagick 库。如果你使用的是 PHP 7.0 及以上版本,通常 G…

    2024年11月29日
    00
  • 把一个矩形div变成一个直角三角形

    要将一个矩形 div 变成一个直角三角形,可以通过 CSS 的一些属性进行实现。具体的方法是利用 border 属性来隐藏矩形的部分,留下一个直角三角形的形状。以下是实现的步骤:CSS 方法: 解释:width 和 height 设置为 0:通过将 div 的宽度和高度设置为 0,实际上把矩形的主体部分隐藏了。border-left 和 border-bot…

    2024年11月27日
    00
  • 部署 Harbor 时,如果运行 install 脚本报错可能导致问题的

    在部署 Harbor 时,如果运行 install 脚本报错,可能是网络问题导致的。以下是排查网络问题的方法: 1. 检查网络连通性 测试目标网络的连通性: 检查 DNS 配置: 如果解析失败,检查 /etc/resolv.conf 中的 DNS 配置,或者尝试手动指定公共 DNS,如 Google 的 8.8.8.8 或阿里云的 223.5.5.5。 2.…

    2024年12月9日
    00
  • 博客网站的链接添加nofollow的好处

    在博客中为链接添加 nofollow 属性可以在以下几个方面带来好处: 1. 防止权重流失作用:为外部链接添加 nofollow 标签可以阻止搜索引擎将页面权重(PageRank)传递给目标页面,从而保留网站自身的 SEO 权重。适用场景:指向不可靠或低质量内容的链接。赞助商链接或付费推广链接。 2. 避免搜索引擎惩罚作用:搜索引擎(如 Google)要求对…

    2024年11月28日
    00
  • 理解 HTML、HTML5 和 “H5” 区别的重要性

    HTML & HTML5 & H5 的区别在构建现代网页时,理解 HTML、HTML5 和 “H5” 的区别是非常重要的。以下是它们的概念和主要区别: 1. HTML(超文本标记语言)定义HTML 是 HyperText Markup Language 的缩写,即超文本标记语言,用于定义网页内容的结构和含义。特性提供基…

    2024年12月2日
    00
  • 在 Nuxt.js 应用中,webpack 的 compile 事件钩子构建过程

    在 Nuxt.js 应用中,webpack 的 compile 事件钩子通常用于在构建过程中处理或监听 Webpack 编译的状态。webpack 是 Nuxt.js 中的核心构建工具之一,而 Nuxt.js 本身是基于 Webpack 配置的,允许你通过扩展 Webpack 配置来进行自定义。要使用 webpack 的 compile 事件钩子,首先你需要…

    2024年11月29日
    00
  • pywebview 页面请求数据总是报错:TypeError: Cannot read properties of undefined (reading ‘api’)

    pywebview 中的 TypeError: Cannot read properties of undefined (reading ‘api’) 错误通常意味着 JavaScript 代码试图访问一个未定义的对象或属性(如 api)。这种问题通常出现在 Python 与前端 JavaScript 交互时,可能是由于以下原因:可能的原因及解决方法:Jav…

    2024年11月27日
    00
  • 浏览器跨域请求中携带 Cookie需要同时在前端和后端进行配置

    浏览器跨域请求中,要让请求携带 Cookie,需要同时在前端和后端进行配置。以下是实现的方法: 前端配置 在前端代码中使用 fetch 或 Axios 发起请求时,需要设置 credentials 属性: 1. Fetch 示例 2. Axios 示例 后端配置 在后端需要允许跨域请求,并确保 Cookie 能够正常传递。 1. 设置 Access-Cont…

    2024年12月9日
    00
  • Web实时通信和 @microsoft/signalr 微软开发的一款基于 SignalR 的实时通信库

    Web实时通信和 @microsoft/signalr@microsoft/signalr 是微软开发的一款基于 SignalR 的实时通信库,专为 Web 应用提供强大的实时通信功能。SignalR 的主要特点包括支持双向通信、自动选择传输协议(WebSockets、Server-Sent Events 或 Long Polling)以及简化的服务器与客户…

    2024年12月1日
    00

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

在线咨询: QQ交谈

邮件:723923060@qq.com

关注微信