Windows 下安装 NVM

NVM

下载 NVM

在工作中,你可能遇到过某个项目需要高版本的 node 才能运行,而有的项目可能只支持低版本的 node,此时就可以借助于一些 Node 版本管理工具,比如 nvm(Node Version Manager),帮助我们快速在不同的版本间切换。请注意,nvm 正如其 github 仓库所言,并不能很好的直接支持 Windows 系统:

nvm 并不能很好的支持 windows

所以,使用 Windows 系统的我选择使用其推荐的 nvm-windows 来管理 Node.js 版本。 在安装 nvm-windows 前,如果你的电脑中已经安装了 Node.js,那么可以选择卸载,也可以选择不卸载。因为在安装 nvm-windows 的过程中其会询问你是否需要将已安装的 Node.js 版本交由其管理。

访问 https://github.com/coreybutler/nvm-windows/releases 下载:

  • nvm-noinstall.zip: 这个是绿色版本,不需要安装,但是使用之前需要配置环境变量
  • nvm-setup.zip:推荐下载这个包,无需配置就可以使用
  • Source code(zip):zip 压缩的源码
  • Sourc code(tar.gz):tar.gz 的源码,一般用于 Linux 系统

安装 NVM

安装时都按默认配置点下一步即可,注意 nvm 和 Node.js 的放置位置要选择不同的文件夹。安装结束后按 win + R 调出运行窗口,输入 cmd 打开命令行工具,输入 nvm, 查看是否有返回类似下图这样的内容:

若有则代表安装成功,若提示 nvm 不是内部或外部命令,可以关掉命令行工具后重行打开尝试一次。

在 NVM 的安装目录下查看是否有 nodejs 目录,如果没有,需要新建一个名为 nodejs 的空目录:

同时需要更改环境变量的 NVM_SYMLINK 指向的是这个空的 nodejs 目录:

配置 NVM

直接通过 nvm 下载 node 可能需要消耗比较长的时间,所以我么可以设置 nvm 的淘宝镜像。

可以直接修改安装 nvm 文件目录下的 settings.txt 文件,在里面加上如下配置:

node_mirror: https://npm.taobao.org/mirrors/node/
npm_mirror: https://npm.taobao.org/mirrors/npm/

因为在安装 node 时需要安装 npm,所以 npm 的镜像也需要设置。

通过 NVM 安装 node

NVM 常用命令:

nvm list查看已安装管理的 node 版本
nvm list available查看哪些 node 版本是可以安装的
nvm install latest安装最新版本的 Node.js
nvm install lts安装最新的 LTS 版本的 Node.js
nvm install 16.14.2安装指定版本的 Node.js
nvm use 17.7.2切换到指定版本的 Node.js
nvm uninstall 10.13.0删除指定版本的 Node.js

安装最新版本的 Node.js,再使用安装的版本的 nodejs,最后使用 <font style="color:rgb(51, 51, 51);">node -v</font>验证 node 是否安装成功:

# 安装最新版本的 node
nvm install lts
# 查看已安装的 node 版本有哪些
nvm list
# 切换到指定版本的 node
nvm use 20.11.0
# 查看当前的 node 的版本
node -v

成功安装 node

配置全局安装的模块路径和缓存路径

首先在 NVM 的安装目录新建两个文件夹 node_global 和 node_cache:

创建完两个文件夹后,在cmd窗口中输入以下命令(两个路径即是两个文件夹的路径):

npm config set prefix "D:\nvm\nvm\node_global"
npm config set cache "D:\nvm\nvm\node_cache"

在用户变量和环境变量中都添加上 node_global 目录的路径:

新建环境变量 NODE_PATH,值为 D:\nvm\nvm\node_global\node_modules,其中D:\nvm\nvm\node_global 是上述创建的全局模块安装路径文件夹:

全局安装一个 express 测试一下:

npm install express -g

在 node_global/node_modules 目录下会生成 express 目录

配置 npm

设置 npm 使用淘宝镜像:

npm config set registry https://registry.npm.taobao.orgnpm config get registry

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

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

相关文章

AI知识补全(十七):通用人工智能AGI是什么?

名人说:博观而约取,厚积而薄发。——苏轼《稼说送张琥》 创作者:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊) 上一篇:AI知识补全(十六):A2A - 谷歌开源的agent通信协议是什么? 目录 一、什么是AGI?概念解析1. 什么是AGI2. AGI与现有AI的本质区别二 、AGI的核…

Spring Cloud Gateway 介绍

什么是Spring Cloud Gateway&#xff1f; Spring Cloud Gateway 是 Spring Cloud 社区官方推出的一个基于 Spring Framework 5、Project Reactor 和 Spring Boot 2.x 的下一代 API 网关&#xff08;API Gateway&#xff09;解决方案。它旨在为微服务架构提供统一、简洁、高效的…

slam--高斯分布

教程 博主解释 高斯分布 高斯分布&#xff08;Gaussian Distribution&#xff09;&#xff0c;又称正态分布&#xff08;Normal Distribution&#xff09;&#xff0c;是描述连续型随机变量分布规律的一种概率分布。 (1) 一维高斯分布 μ&#xff1a;均值/数学期望&#xff0…

机器视觉标定讲解

B站 &#xff1a;道传科技上位机 观看教程 一、什么是相机标定 相机标定&#xff08;Camera Calibration&#xff09;是指通过实验或算法手段确定相机的内部参数&#xff08;如焦距、主点坐标、畸变系数&#xff09;和外部参数&#xff08;如旋转矩阵、平移向量&#xff0…

文件的秒传、分片上传以及断点续传 || Redis缓存减轻数据库读写压力

实现文件的秒传、分片上传以及断点续传的功能。使用 Redis 缓存上传的文件分片信息减轻数据库读写压力&#xff0c;同时防止有人恶意攻击服务器导致服务器磁盘爆满无法提供服务。 &#x1f50d; 详解&#xff1a; 1. 实现文件的秒传、分片上传以及断点续传功能 秒传&#xff0…

安全大模型智驱网络和数据安全效能跃迁

从2023年ChatGPT开始&#xff0c;网络安全行业就一直尝试和AI大模型来结合&#xff0c;解决网络安全的痛点&#xff0c;例如告警多&#xff0c;专家少&#xff0c;新的APT攻击层出不穷&#xff0c;已有的基于规则的防护手段失灵&#xff0c;如何使用大模型的泛化能力来提升对未…

Android S - 恢复部分应用安装

使用展锐提供的代码编译出来的固件&#xff0c;不包含DeskClock等应用。 之前也遇到过这个情况&#xff0c;只是时间太久忘记了&#xff0c;在这里再次记录&#xff01; frameworks/native/data/etc/android.app.remove.xml<?xml version"1.0" encoding"ut…

android 之 CALL

一、组件职责与定位 组件所在进程核心职责关键特性CallsManagerTelecom系统进程通话状态机核心&#xff1a;管理所有Call对象的生命周期&#xff08;创建、状态更新、销毁&#xff09;。监听Call状态变化并通知所有观察者&#xff08;如InCallController&#xff09;。通过mLi…

Swift 6 学习笔记(二)The Basics

这篇笔记也是同步 Swift 6 官方教程中的第二篇 《The Basics》&#xff0c;这篇博客中的大部分内容在第一篇中已经涉及&#xff0c;这篇可以被认为是基础类型的的补充篇&#xff0c;多了很多说明信息。 官方教学文档 《The Basics》&#xff1a; Swift 提供了许多基本数据类型…

【PHP】BC Math 函数参考表

BC Math 函数参考表: 函数名描述语法bcadd两个任意精度数字的加法bcadd($num1, $num2, [scale])bcsub两个任意精度数字的减法bcsub($num1, $num2, [scale])bcmul两个任意精度数字乘法bcmul($num1, $num2, [scale])bcdiv两个任意精度数字除法bcdiv($num1, $num2, [scale])bcmod…

C# TAP异步编程(Task/async/await)总结

C#中有个很好用的东西&#xff0c;TAP异步编程&#xff08;Task-based Asynchronous Pattern&#xff09;&#xff0c;是目前C#推荐的异步编程模型。它基于 System.Threading.Tasks.Task 和 async/await 关键字&#xff0c;旨在简化异步代码的编写、调试和维护。TAP 是现代 .NE…

达梦数据库(DM)用户名大小写处理规则

达梦数据库(DM)用户名大小写处理规则 达梦数据库对用户名的处理与PostgreSQL和Oracle有所不同&#xff0c;以下是相关说明&#xff1a; 一、基本规则 默认情况下&#xff1a;达梦数据库区分用户名大小写 创建的用户名会保留原始大小写格式连接时必须使用相同的大小写形式 …

黑马点评面试话术

文章目录 1.项目介绍2. 分布式登录功能2.1 讲讲登录的整个流程2.2 集群模式session下存储用户信息会有啥问题&#xff1f;2.3 为什么采用redis存储用户信息和验证码2.4 redis的存储格式怎么样的&#xff1f;2.5 为什么采用Hash结构存储用户信息2.6 为什么采用双拦截器&#xff…

MTK APEX测光系统中各变量具体的计算方式探究

目录 一、APEX测光系统介绍 二、MTK测光系统实例介绍 三、关于测光系统的一些疑问 一、APEX测光系统介绍 详细内容可以参考; AE(自动曝光)系统简介

K8S的基本概念

Kubernetes是一个开源的容器编排部署管理平台,用于管理云平台中多个主机上的容器化应用。Kubernetes的目标是让部署容器化的应用简单并且高效,Kubernetes提供了应用部署、规划、更新、维护的一种机制。 对应用开发者而言,可以把Kubernetes看成一个集群操作系统。Kubernetes…

NLP学习路线图(三十四): 命名实体识别(NER)

一、命名实体识别(NER)是什么? 命名实体识别(Named Entity Recognition, NER)是自然语言处理中的一项关键序列标注任务。其核心目标是从非结构化的文本中自动识别出特定类别的名词性短语,并将其归类到预定义的类别中。 核心目标:找到文本中提到的命名实体,并分类。 典…

大三自学笔记:探索Hyperlane框架的心路历程

## Day 1&#xff1a;初识 Hyperlane 在 GitHub 上发现了 Hyperlane 这个 Rust HTTP 框架&#xff0c;立刻被它的性能数据吸引。官方文档写着&#xff1a; > "hyperlane 是一个高性能且轻量级的 Rust HTTP 框架&#xff0c;设计目标是简化现代 Web 服务的开发&#xff…

Java大厂面试真题:谢飞机的技术挑战

Java大厂面试真题&#xff1a;谢飞机的技术挑战 场景一&#xff1a;电商场景 面试官&#xff1a;在电商项目中&#xff0c;我们通常需要处理大量的并发请求。请谈谈你对JVM调优的理解。 谢飞机&#xff1a;嗯&#xff0c;JVM调优主要是为了提高程序的性能和稳定性。比如&…

【Docker管理工具】安装容器管理工具Oxker

【Docker管理工具】安装Oxker容器管理工具 一、Oxker介绍1.1 Oxker简介1.2 Oxker功能1.3 Docker介绍 二、本地环境介绍2.1 本地环境规划2.2 本次实践介绍 三、本地环境检查3.1 检查Docker服务状态3.2 检查Docker版本3.3 检查docker compose 版本 四、下载Oxker镜像五、安装Oxke…

产品成本分析怎么做?从0到1搭建全生命周期分析框架!

目录 一、为什么要做产品全生命周期成本分析&#xff1f; 1.资源再分配 2.动态成本校准 3.战略决策支持 二、产品成本分析思路 1.建立全生命周期成本追踪 2.联动分析关键指标 3.定位问题产品线 4.资源效率四象限分配 三、产品成本分析指标 1.分投入成本&#xff1a;…