当前位置: 首页 > news >正文

【Node.js从基础到高级运用】二、搭建开发环境

Node.js入门:搭建开发环境

在上一篇文章中,我们介绍了Node.js的基础概念。现在,我们将进入一个更实际的阶段——搭建Node.js的开发环境。这是每个Node.js开发者旅程中的第一步。接下来,我们将详细讨论如何安装Node.js和npm,以及如何使用版本管理工具来维护不同的Node.js版本。

安装Node.js和npm

Node.js的安装过程相当简单,它的官网提供了不同操作系统下的安装包和安装指南。

Windows和Mac

  1. 访问Node.js官网。
  2. 根据你的操作系统选择相应的安装包(LTS版本建议用于生产环境,因其稳定性好;Current版本包含了最新的功能)。
  3. 下载后,运行安装程序并遵循向导指示完成安装。

Linux

对于Linux用户,你可以使用包管理器来安装Node.js。例如,在Ubuntu上,你可以使用以下命令:

sudo apt update
sudo apt install nodejs
sudo apt install npm

安装完成后,你可以通过运行以下命令来验证安装:

node -v
npm -v

这些命令将分别显示你安装的Node.js和npm的版本,确认你的安装成功。

理解Node.js版本管理

在开发过程中,你可能需要在不同的项目之间切换使用不同版本的Node.js。这时,Node.js版本管理工具就显得尤为重要。nvm(Node Version Manager)是一个流行的版本管理工具,它允许你在同一台机器上安装和使用多个版本的Node.js。

安装nvm

Windows系统下安装Node Version Manager (nvm-windows) :

  • 卸载旧版本: 如果您的计算机上已经安装了Node.js,且您想通过nvm来管理多个版本,请考虑先卸载全局安装的Node.js。不过,在某些情况下(如使用nvm-windows),它可以自动接管已安装的Node.js版本。

  • 下载nvm: 访问nvm-windows的GitHub releases页面:https://github.com/coreybutler/nvm-windows/releases下载最新的nvm-setup.exe安装程序或者.zip压缩包(如果是免安装版)。

  • 安装nvm: 按照向导提示操作,选择nvm的安装目录,注意不要包含任何空格或中文字符,以免出现错误。选择默认路径即可

  • 安装node

以管理员的身份运行CMD
在这里插入图片描述
输入 nvm list available 查看可安装的node版本
在这里插入图片描述

输入 nvm install 版本号 安装指定版本node :

# 安装特定版本的Node.js
nvm install 14.17.0# 切换到特定版本的Node.js
nvm use 14.17.0# 列出已安装的所有Node.js版本
nvm ls# 自动切换到项目指定的Node.js版本
nvm use

相关命令

  • nvm list 查看已经安装的版本
  • nvm list installed 查看已经安装的版本
  • nvm list available 查看网络可以安装的版本
  • nvm version 查看当前的版本
  • nvm install 安装最新版本
  • nvm nvm use ## 切换使用指定的版本
  • node nvm ls 列出所有版本 nvm current显示当前版本

结语

恭喜你,现在你已经成功搭建了Node.js的开发环境,并且学会了如何管理不同的Node.js版本。这些技能将为你的Node.js开发之旅打下坚实的基础。在下一篇文章中,我们将深入探讨JavaScript的核心概念,以及它们在Node.js中的应用。继续保持学习的热情,我们很快就会见到!

相关文章:

【Node.js从基础到高级运用】二、搭建开发环境

Node.js入门:搭建开发环境 在上一篇文章中,我们介绍了Node.js的基础概念。现在,我们将进入一个更实际的阶段——搭建Node.js的开发环境。这是每个Node.js开发者旅程中的第一步。接下来,我们将详细讨论如何安装Node.js和npm&#…...

kafka查看消息两种方式(命令行和软件)+另附发送消息方式

1、命令行方式 ①找到kafka安装文件夹 ②执行命令 #指定offset为指定时间作为消息起始位置 kafka-consumer-groups.sh \ --bootstrap-server 20.2.246.116:9092 \ --group group_1 \ --topic lanxin_qiao \ --reset-offsets \ --to-datetime 2023-07-19T01:00:00.000 \ -exe…...

设计模式 单例模式

单例模式就是在整个程序运行的过程中,这个类的实例化对象只有一个。 单例模式和private static 有密切的关系。 举一个例子: 一个wife,在法律允许的范围内,只能有一个。 public class Wife{private static Wife wife null; //…...

使用 Mendix 中的 OIDC 模块集成 Azure AD SSO

前言 在当今快速发展的数字化世界中,企业追求高效率和灵活性已成为常态。Mendix,作为一个先进的低代码开发平台,正是企业快速响应市场需求、加速数字化转型过程的利器。通过其直观的可视化开发环境,即使是非技术背景的用户也能设…...

day12_SpringCloud(Gateway,Nacos配置中心,Sentinel组件)

文章目录 1 Gateway组件1.1 Gateway简介1.2 Gateway入门1.3 网关路由流程图1.4 路由工厂1.5 过滤器1.5.1 过滤器简介1.5.2 内置过滤器1.5.3 路由过滤器1.5.4 默认过滤器1.5.5 全局过滤器1.5.6 过滤器执行顺序 2 Nacos配置中心2.1 统一配置管理2.2 Nacos入门2.2.1 Nacos中添加配…...

【基于springboot+Vue+Element ui的电影推荐之协同过滤算法简单实现】

基于springbootVueElement ui的电影推荐之协同过滤算法简单实现 1.基于用户的协同过滤算法的简单设计与实现1.1获取某个用户的评分矩阵1.2获取该用户与其他用户的相似度矩阵1.3获取两个用户之间的相似度并存储1.4返回推荐列表 2.基于物品的协同过滤算法的简单设计与实现2.1计算…...

签约仪式如何策划和安排流程?如何邀约媒体现场见证报道

传媒如春雨,润物细无声,大家好,我是51媒体网胡老师。 签约仪式的策划和安排流程,以及邀约媒体现场见证报道,都是确保活动成功和提升影响力的关键环节。以下是一些建议: 签约仪式的策划和安排流程 明确目标…...

k8s-生产级的k8s高可用(1) 24

高可用集群 实验至少需要三个master(控制节点),一个可以使外部可以访问到master的load balancer(负载均衡)以及一个或多个外部节点worker(也要部署高可用)。 再克隆三台主机 清理并重启 配置两…...

python中lambda简介及用法

什么是lambda? lambda是python中的一个关键字,它用于创建匿名函数,也就是没有名字的函数。lambda函数通常用于一些简单的操作,比如作为参数传递给其他函数,或者作为返回值返回给调用者。lambda函数的语法如下&#xf…...

AI新工具 百分50%算力确达到了GPT-4水平;将音乐轨道中的人声、鼓声、贝斯等音源分离出来等

1: Pi 百分50%算力确达到了GPT-4水平 Pi 刚刚得到了巨大的升级!它现在由最新的 LLMInflection-2.5 提供支持,它在所有基准测试中都与 GPT-4 并驾齐驱,并且使用不到一半的计算来训练。 地址:https://pi.ai/ 2: Moseca 能将音乐…...

websocket前端应用

基本了解 首先要对websocket有一个基本了解:WebSocket是一种在Web浏览器和Web服务器之间创建持久连接的技术。它允许在客户端和服务器之间进行全双工通信,而不需要在每次通信时都发起新的HTTP请求。主要作用包括实时通信、减少延迟、减少宽带消…...

SpringMVC05、结果跳转方式

5、结果跳转方式 5.1、ModelAndView 设置ModelAndView对象 , 根据view的名称 , 和视图解析器跳到指定的页面 . 页面 : {视图解析器前缀} viewName {视图解析器后缀} <!-- 视图解析器 --> <bean class"org.springframework.web.servlet.view.InternalResourc…...

STM32基础--位带操作

位带简介 位操作就是可以单独的对一个比特位读和写&#xff0c;这个在 51 单片机中非常常见。51 单片机中通过关键字 sbit 来实现位定义&#xff0c;STM32 没有这样的关键字&#xff0c;而是通过访问位带别名区来实现。 在 STM32 中&#xff0c;有两个地方实现了位带&#xff…...

C# winform 重启电脑

一、重启电脑指令 windows7系统的启动文件夹为“开始菜单”——“所有程序”里面就有“启动”文件夹&#xff0c;其位置是 “C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup” 如果没有&#xff0c;则需要将其中的"administrator…...

波奇学Linux: 信号捕捉

sigaction:修改信号对应的handler方法 act输入型参数&#xff0c;oldact输出型参数 void (*sa_handler) (int) //修改的自定义函数 sigset_t sa_mask // void handler(int signo) {cout<<"catch a signal, signal number: "<<signo<<endl; } int …...

Flink hello world

下载并且解压Flink Downloads | Apache Flink 启动Flink. $ ./bin/start-cluster.sh Starting cluster. Starting standalonesession daemon on host harrydeMacBook-Pro.local. Starting taskexecutor daemon on host harrydeMacBook-Pro.local. 访问localhost:8081 Flin…...

STL之map容器代码详解

基础概念 简介&#xff1a; map中所有元素都是pair。pair中第一个元素为key&#xff08;键值&#xff09;&#xff0c;起到索引作用&#xff0c;第二个元素为value&#xff08;实值&#xff09;。所有元素都会根据元素的键值自动排序。 本质&#xff1a; map/multimap属于关…...

使用GRU进行天气变化的时间序列预测

本文基于最适合入门的100个深度学习项目的学习记录&#xff0c;同时在Google clolab上面是实现&#xff0c;文末有资源连接 天气变化的时间序列的难点 天气变化的时间序列预测涉及到了一系列复杂的挑战&#xff0c;主要是因为天气系统的高度动态性和非线性特征。以下是几个主…...

uniapp 小程序AP配网

一、TCPSocket.js 封装TCP协议 class socket {constructor() {this.connection {};}// 创建一个TCP实例establish(monitor) {this.connection wx.createTCPSocket();this.connection.connect({ address: "000.000.0.0", port: 6800 });}// 发送消息connect(messag…...

Stable Diffusion ———LDM、SD 1.0, 1.5, 2.0、SDXL、SDXL-Turbo等版本之间关系现原理详解

一、简介 2021年5月&#xff0c;OpenAI发表了《扩散模型超越GANs》的文章&#xff0c;标志着扩散模型&#xff08;Diffusion Models&#xff0c;DM&#xff09;在图像生成领域开始超越传统的GAN模型&#xff0c;进一步推动了DM的应用。 然而&#xff0c;早期的DM直接作用于像…...

【Axure高保真原型】引导弹窗

今天和大家中分享引导弹窗的原型模板&#xff0c;载入页面后&#xff0c;会显示引导弹窗&#xff0c;适用于引导用户使用页面&#xff0c;点击完成后&#xff0c;会显示下一个引导弹窗&#xff0c;直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…...

JavaSec-RCE

简介 RCE(Remote Code Execution)&#xff0c;可以分为:命令注入(Command Injection)、代码注入(Code Injection) 代码注入 1.漏洞场景&#xff1a;Groovy代码注入 Groovy是一种基于JVM的动态语言&#xff0c;语法简洁&#xff0c;支持闭包、动态类型和Java互操作性&#xff0c…...

基于服务器使用 apt 安装、配置 Nginx

&#x1f9fe; 一、查看可安装的 Nginx 版本 首先&#xff0c;你可以运行以下命令查看可用版本&#xff1a; apt-cache madison nginx-core输出示例&#xff1a; nginx-core | 1.18.0-6ubuntu14.6 | http://archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages ng…...

从零实现STL哈希容器:unordered_map/unordered_set封装详解

本篇文章是对C学习的STL哈希容器自主实现部分的学习分享 希望也能为你带来些帮助~ 那咱们废话不多说&#xff0c;直接开始吧&#xff01; 一、源码结构分析 1. SGISTL30实现剖析 // hash_set核心结构 template <class Value, class HashFcn, ...> class hash_set {ty…...

JDK 17 新特性

#JDK 17 新特性 /**************** 文本块 *****************/ python/scala中早就支持&#xff0c;不稀奇 String json “”" { “name”: “Java”, “version”: 17 } “”"; /**************** Switch 语句 -> 表达式 *****************/ 挺好的&#xff…...

3-11单元格区域边界定位(End属性)学习笔记

返回一个Range 对象&#xff0c;只读。该对象代表包含源区域的区域上端下端左端右端的最后一个单元格。等同于按键 End 向上键(End(xlUp))、End向下键(End(xlDown))、End向左键(End(xlToLeft)End向右键(End(xlToRight)) 注意&#xff1a;它移动的位置必须是相连的有内容的单元格…...

Aspose.PDF 限制绕过方案:Java 字节码技术实战分享(仅供学习)

Aspose.PDF 限制绕过方案&#xff1a;Java 字节码技术实战分享&#xff08;仅供学习&#xff09; 一、Aspose.PDF 简介二、说明&#xff08;⚠️仅供学习与研究使用&#xff09;三、技术流程总览四、准备工作1. 下载 Jar 包2. Maven 项目依赖配置 五、字节码修改实现代码&#…...

【Go语言基础【13】】函数、闭包、方法

文章目录 零、概述一、函数基础1、函数基础概念2、参数传递机制3、返回值特性3.1. 多返回值3.2. 命名返回值3.3. 错误处理 二、函数类型与高阶函数1. 函数类型定义2. 高阶函数&#xff08;函数作为参数、返回值&#xff09; 三、匿名函数与闭包1. 匿名函数&#xff08;Lambda函…...

shell脚本质数判断

shell脚本质数判断 shell输入一个正整数,判断是否为质数(素数&#xff09;shell求1-100内的质数shell求给定数组输出其中的质数 shell输入一个正整数,判断是否为质数(素数&#xff09; 思路&#xff1a; 1:1 2:1 2 3:1 2 3 4:1 2 3 4 5:1 2 3 4 5-------> 3:2 4:2 3 5:2 3…...

FTXUI::Dom 模块

DOM 模块定义了分层的 FTXUI::Element 树&#xff0c;可用于构建复杂的终端界面&#xff0c;支持响应终端尺寸变化。 namespace ftxui {...// 定义文档 定义布局盒子 Element document vbox({// 设置文本 设置加粗 设置文本颜色text("The window") | bold | color(…...