02_nodejs开发环境安装

02 【nodejs开发环境安装】

1.版本介绍

  • 在命令窗口中输入 node -v 可以查看版本
  • 0.x 完全不技术 ES6
  • 4.x 部分支持 ES6 特性
  • 5.x 部分支持ES6特性(比4.x多些),属于过渡产品,现在来说应该没有什么理由去用这个了
  • 6.x 支持98%的 ES6 特性
  • 8.x 支持 ES6 特性

2.Node.js 运行环境配置:通过 Node.js 安装包(不推荐)

去 Node.js 的官网下载安装包:

在这里插入图片描述

我们也可以在https://nodejs.org/en/download/releases/ 里下载历史版本。
在这里插入图片描述

后续如果需要安装其他版本,可以这样做:重新下载最新的安装包,覆盖安装即可。

但我们并不推荐直接采用 Node.js.msi(windows)或者 Node.js.pkg(Mac) 安装包进行安装,因为会产生如下问题。

通过 Node.js 安装包产生的问题

  • 安装新版本时,需要覆盖就版本;而且以前版本安装的很多全局工具包,需要重新安装。
  • 无法回滚到之前的旧版本。
  • 无法在多个版本之间切换(很多时候,不同的项目需要使用特定版本。或者,我想临时尝鲜一下新版本的特性)

因此,我们暂时先不用安装 Node.js,稍后用 NVM 的方式来安装 Node.js。通过 NVM 的方式,可以让多个版本的 Node.js 共存,并灵活切换。

Node.js 版本常识

  • 偶数版本为稳定版(0.6.x ,0.8.x ,8.10.x)
  • 奇数版本为非稳定版(0.7.x ,0.9.x ,9.11.x)
  • LTS(Long Term Support)

参考链接:node.js 中 LTS 和 Current 的区别

3.Node.js 运行环境安装:通过 NVM(推荐)

NVM:node.js version manager,用来管理 node 的版本。

我们可以先安装 NVM,然后通过 NVM 安装 Node.js。这是官方推荐的做法。

Windows 安装的 nvm 的步骤如下。

3.1 安装 NVM:

(1)我们去 https://github.com/coreybutler/nvm-windows/releases 下载 NVM 的安装包:

image-20221102142420968

下载下来后,直接解压到 D:\web目录下:

image-20221102143322915

(2)在上面的目录中,新建一个settings.txt文件,里面的内容填充如下:

root: D:\web\nvm
path: D:\web\nodejs
arch: 64
proxy

上方内容的解释:

  • root 配置为:当前 nvm.exe 所在的目录
  • path 配置为:node 快捷方式所在的目录
  • arch 配置为:当前操作系统的位数(32/64)
  • proxy 不用配置

(3)配置环境变量:

  • NVM_HOME = D:\web\nvm(当前 nvm.exe 所在目录)
  • NVM_SYMLINK = D:\web\nodejs (node 快捷方式所在的目录)
  • PATH += ;%NVM_HOME%;%NVM_SYMLINK%

配置成功后,重启资源管理器。

3.2 验证

(1)输入nvm命令查看环境变量是否配置成功

(2)输入 nvm ls,查看已安装的所有 node 版本。

(3)输入 nvm -v,查看 已安装的 nvm 版本。

(4)输入 node -v,查看正在使用的 node 版本。

如果 Node 安装失败,可以参考上面这个链接。

3.3 安装指定版本的 Node.js

nvm install 版本号# 举例
nvm install 8.10.0

输入 node -v,查看当前使用的 node 版本。

关于 NVM 的常用命令,详见下一段。

补充:

如果 Node 安装失败,可以在上方的 settings.txt文件中,新增如下两行,修改镜像源:

node_mirror: https://npmmirror.com/mirrors/node/
npm_mirror: https://npmmirror.com/mirrors/npm/
  • 参考链接:安装 npm,nvm,node

4.NVM 的常用命令

注意,这一段说的是 NVM 的常用命令,不是 Node 的常用命令。

查看当前使用的 nvm 版本:

nvm --version

查看本地安装的所有的 Node.js 版本:

# 方式1
nvm ls# 方式2
nvm list

安装指定版本的 Node.js:

nvm install 版本号# 举例
nvm install 8.10.0

卸载指定版本 Node.js:

nvm uninstall 版本号

切换使用指定版本的 node

nvm use 版本号

设置node的默认版本

nvm alias default 版本号

查看全局npm包的安装路径

npm root -g

查看远程服务器端的所有 Node 版本:

nvm ls-remote

执行上面的命令后,在列出的版本清单中,凡是用 Latest LTS标注的版本,则表明是长期维护的版本。我们在安装时,建议安装这些版本。当然,我们也可以在网址 https://nodejs.org/en/download/releases/ 查看 LTS 的历史版本。

在这里插入图片描述

5.Node.js 的常用命令

查看 node 的版本:

$ node -v

执行脚本字符串:

$ node -e 'console.log("Hello World")'

运行脚本文件:

$ node index.js$ node path/index.js$ node path/index

查看帮助:

$ node --help

6.MAC 安装NVM

有一个中文网站写的不错
在这里插入图片描述
在这里插入图片描述

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

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

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

相关文章

detour编译问题及导入visual studio

Detours是经过微软认证的一个开源Hook库,Detours在GitHub上,网址为 https://github.com/Microsoft/Detours 注意版本不一样的话也是会出问题的,因为我之前是vs2022的所以之前的detours.lib不能使用,必须用对应版本的x64 Native To…

230902-部署Gradio到已有FastAPI及服务器中

1. 官方例子 run.py from fastapi import FastAPI import gradio as grCUSTOM_PATH "/gradio"app FastAPI()app.get("/") def read_main():return {"message": "This is your main app"}io gr.Interface(lambda x: "Hello, …

Flink 如何处理反压?

分析&回答 什么是反压(backpressure) 反压通常是从某个节点传导至数据源并降低数据源(比如 Kafka consumer)的摄入速率。反压意味着数据管道中某个节点成为瓶颈,处理速率跟不上上游发送数据的速率,而…

django.core.exceptions.AppRegistryNotReady: Apps aren‘t loaded yet.

运行django测试用例报错django.core.exceptions.AppRegistryNotReady: Apps arent loaded yet. 解决:在测试文件上方加上 django.setup() django.setup()是Django框架中的一个函数。它用于在非Django环境下使用Django的各种功能、模型和设置。 在常规的Django应用…

[JDK8下的HashMap类应用及源码分析] 数据结构、哈希碰撞、链表变红黑树

系列文章目录 [Java基础] StringBuffer 和 StringBuilder 类应用及源码分析 [Java基础] 数组应用及源码分析 [Java基础] String,分析内存地址,源码 [JDK8环境下的HashMap类应用及源码分析] 第一篇 空构造函数初始化 [JDK8环境下的HashMap类应用及源码分…

2、[春秋云镜]CVE-2022-30887

文章目录 一、靶标介绍二、复现过程 一、靶标介绍 二、复现过程 (1)打开网址。 (2)查看源代码 邮件格式:第一个符号不准为,后续符号有、.; 密码格式:匹配所有小写字母&#xff0c…

RT_Thread内核机制学习(三)进程间通信

队列 队列里有多个消息块,每个消息块大小一致。 写: 有空间,成功。无空间:返回Err;等待一段时间。 队列里面会有两个链表:发送链表和接收链表 struct rt_messagequeue {struct rt_ipc_object parent; …

解决WebSocket通信:前端拿不到最后一条数据的问题

🌷🍁 博主猫头虎(🐅🐾)带您 Go to New World✨🍁 🦄 博客首页——🐅🐾猫头虎的博客🎐 🐳 《面试题大全专栏》 🦕 文章图文…

Redis 哨兵(sentinel)

1. 是什么一 1.1 吹哨人巡查监控后台master主机是否故障,如果故障了根据投票数自动将某一个从库转换为新主库,继续对外服务 1.2 作用 俗称,无人值守运维 哨兵的作用: 1、监控redis运行状态,包括master和slave 2、当m…

Netty-ChannelPipeline

EventLoop可以说是 Netty 的调度中心,负责监听多种事件类型:I/O 事件、信号事件、定时事件等,然而实际的业务处理逻辑则是由 ChannelPipeline 中所定义的 ChannelHandler 完成的,ChannelPipeline 和 ChannelHandler应用开发的过程…

Nginx高级配置

目录 一、Nginx 第三方模块 1.1ehco 模块 二、变量 2.1 内置 2.2 自定义变量 三、nginx压缩功能 ​编辑四、https功能 一、Nginx 第三方模块 1.1ehco 模块 基于nginx 模块 ngx_http_stub_status_module 实现,在编译安装nginx的时候需要添加编译参数 --with-…

Echart笔记

Echart笔记 柱状图带背景色的柱状图将X与Y轴交换制作为进度条 柱状图 带背景色的柱状图 将X与Y轴交换制作为进度条 //将X与Y轴交换制作为进度条 option { xAxis: {type: value,min:0,max:100,show:false,//隐藏x轴},yAxis: {type: category,data:[进度条],show:false,//隐…