Windows Nodejs多版本使用

2023-05-16

一、遇到的问题
不同的项目使用的node版本不一致,导致使用的时候,安装依赖的时候冲突了,从网上找了很多的方案,解决起来也挺费劲的;
问题:当一个项目使用低版本的时候,使用的node版本为14.18.1,安装完依赖就可以直接运行起来;但是一个项目需要使用node的版本为16.14.0,安装依赖的时候,就必须得使用这个版本的,使用这个版本的时候,依赖旧版本的项目启动的时候就报错了
在这里插入图片描述

一开始的想法是升级package.json文件中的node-sass和sass-loader的版本,将其更改为跟node@16.14.0一致的版本,更改完后,重新下载完依赖运行的时候,会报其他的错误,其他的依赖也会报错,因为项目本身用到了很多的依赖,比如webpack等跟node版本相关的一些依赖都需要升级,一点点的去找的话,太花费时间,还不一定都能找全了,报错信息如下:
在这里插入图片描述

然后我在想,是不是可以使用不同的node版本,当开发这个项目的时候,我使用这个node版本,当开发另一个项目的时候,我使用另一个node版本,从网上查找了一下,果然发现了解决办法,就是使用nvm去管理不同版本的node
二、如何使用nvm
1、nvm介绍
我们可能同时在进行2个项目,而2个不同的项目所使用的node版本又是不一样的,或者是要用更新的node版本进行试验和学习。这种情况下,对于维护多个版本的node将会是一件非常麻烦的事情,而nvm就是为解决这个问题而产生的,他可以方便的在同一台设备上进行多个node版本之间切换,而这个正是nvm的价值所在,详情可以查看NVM官网。
2、windows系统安装nvm
(1)下载nvm
nvm-windows 最新下载地址
在这里插入图片描述
可以看到这里又有四个可下载的文件:

nvm-noinstall.zip: 这个是绿色免安装版本,但是使用之前需要配置
nvm-setup.zip:这是一个安装包,下载之后点击安装,无需配置就可以使用,方便。
Source code(zip):zip压缩的源码
Sourc code(tar.gz):tar.gz的源码,一般用于*nix系统

我对这个目前只是简单使用,为了方便,所以下载了nvm-noinstall.zip文件,解压后可以直接使用
(2)安装(这里只介绍免安装版本)
a. 解压:因为下载的是免安装版本,只需要解压就行,解压后的内容如下图所示:
在这里插入图片描述

b. 选择一个要保存的目录,我这里选择的是d盘,如下图所示:
在这里插入图片描述
c. 右键以管理员的身份运行install.cmd . 直接按回车,在C盘根目录下会生成一个setting,txt.并拷贝到D:\gnvm\nvm, 因为没有在c盘根目录下找到,我就自己在目录下手动创建了setting.txt文件,文件中的内容为:

root: D:\gnvm\nvm
path: D:\gnvm\nvm\nodejs
arch: 64
proxy: none
node_mirror: http://npm.taobao.org/mirrors/node/
npm_mirror: https://npm.taobao.org/mirrors/npm/

d. 配置环境变量
打开‘控制面板主页->高级系统设置->高级->环境变量’后会有‘用户变量’和‘系统变量’两个选项,我看网上的建议是在‘用户变量’里面设置,nodejs是我自己创建的文件夹(文件夹中包含:node_cache、node_global两个文件夹,也是手动创建的,用于设置全局包位置和缓存位置),我这里是在系统变量中设置的:

NVM_HOME:  D:\gnvm\nvm
NVM_SYMLINK:  D:\gnvm\nvm\nodejs
PATH:  %NVM_HOME%;%NVM_SYMLINK% (PATH的最后添加%NVM_HOME%;%NVM_SYMLINK%)

在这里插入图片描述

e. 使用nvm 或者 nvm use system 验证是否成功
在这里插入图片描述
3、使用nvm install []命令下载需要的版本。arch参数表示系统位数,默认是64位,如果是32位操作系统,需要执行命令:nvm install 6.9.0 32,出现下图表示安装完成:
在这里插入图片描述

4、使用 nvm
安装最新稳定版 node,当前是 node v12.9.1 (npm v7.9.0)

nvm install stable

安装指定版本,可模糊安装

#如:安装 v4.4.0
#nvm install v4.4.0
#nvm install 4.4
nvm install <version>

删除已安装的指定版本,语法与 install 用法一致

nvm uninstall <version>

切换使用指定的版本 node(注意切换版本的时候需要使用管理员权限)
在这里插入图片描述

临时版本 - 只在当前窗口生效指定版本

 nvm use <version>

永久版本 - 所有窗口生效指定版本

 nvm alias default <version>

注意:在任意一个命令行窗口进行切换之后,其他的窗口或其他命令行工具窗口 需要关掉工具,重启才能生效。(例如 VSCode 内或外部命令切换之后,需要重启 VSCode,才能正常生效,否则或处于 临时生效状态,也就是在 VSCode 中重新打开一个命令行查看版本还会是旧版本,所以必须要重启。)
这里的 重启 不是简单的关掉窗口重启,没有退出后台进程,而是完全退出杀死工具进程,重新启动。

列出所有安装的版本

nvm ls

列出所有远程服务器的版本(官方 node version list)

 nvm ls-remote

显示当前的版本

nvm current

给不同的版本号添加别名

nvm alias <name> <version>

删除已定义的别名

nvm unalias <name>

在当前版本 node 环境下,重新全局安装指定版本号的 npm 包

 nvm reinstall-packages <version>

查看更多命令可在终端输入

nvm

5、安装node
使用nvm install安装node的时候,会出现npm不能用的情况,我自己从网上下载的免安装版本,把解压后的内容,拷贝到对应的文件目录下
6、安装上node后,再配置全局包位置和缓存位置

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

配置好后,可以使用一些全局安装的依赖,比如yarn等内容,安装完后,就可以直接使用yarn命令去安装一些依赖了

7、下载依赖的时候,node-sass报错
使用以下命令就可以解决了:

npm config set sass_binary_site=https://npm.taobao.org/mirrors/node-sass
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Windows Nodejs多版本使用 的相关文章

  • Ubuntu+DroneKit Python配置

    安装 sudo apt span class hljs attribute get span install python span class hljs attribute py span python span class hljs a
  • DroneKit示例分析1---状态的获取与设置

    能获取大部分无人机的状态信息 xff0c 但只有以下几个可以设置 Vehicle span class hljs preprocessor home span location Vehicle span class hljs preproc
  • Python+OpenCV感兴趣区域ROI提取

    Python 43 OpenCV感兴趣区域ROI提取 方法一 xff1a 使用轮廓 步骤1 span class hljs string 34 34 34 src为原图 34 34 34 span ROI 61 np zeros src s
  • 机器学习——数据标注工具使用

    LabelImg 源码编译教程 LabelImg github Windows Linux打包软件 使用方法 Steps Click Change default saved annotation folder in Menu File C
  • TensorFlow——训练自己的数据(一)数据处理

    参考 xff1a Tensorflow教程 猫狗大战数据集 贴一张自己画的思维导图 数据集准备 kaggle猫狗大战数据集 xff08 训练 xff09 xff0c 微软的不需要翻墙 12500张cat12500张dog 生成图片路径和标签
  • TensorFlow——训练自己的数据(三)模型训练

    参考 xff1a Tensorflow教程 猫狗大战数据集 文件training py 导入文件 span class hljs import span class hljs keyword import span os span span
  • TensorFlow——训练自己的数据(四)模型测试

    参考 xff1a Tensorflow教程 猫狗大战数据集 测试一张图片 获取一张图片 函数 xff1a def get one image train 输入参数 xff1a train 训练图片的路径返回参数 xff1a image xf
  • linux BST树算法实现

    简介 BST就是二叉搜索树 Binary Search Tree 的简称 xff0c 因此毫无疑问BST也是二叉树 xff0c 对于二叉树而言 xff0c 和线性表的实现一样 xff0c 我们也必须设计其数据节点 xff0c 而且也必须设计
  • TensorFlow——训练自己的数据——CIFAR10(一)数据准备

    参考教程 Tensorflow教程 xff1a 深度学习 图像分类 CIFAR10数据集 Reading Data 所用函数 span class hljs function span class hljs keyword def span
  • TensorFlow:Object_Detection_API在Windows10上的配置

    安装 假设已配置完tensorflow xff0c 并安装好Anaconda3 4 2 0 xff08 此版本为python3 5 xff09 从github下载models tensorflow models Protobuf 编译 pr
  • TensorFlow Object Detection API 在Windows10和Ubuntu上的配置

    前言 好久没用博客了 xff0c 因为服务器原因重装了好几次 xff0c tensorflow也一直跟着重装 xff0c 这篇博文相比上一篇会更完善点 xff0c 用的版本也会新一些 主要记录在win10和ubuntu上配置Tensorfl
  • 那一年读过的技术经典书

    转载请注明 xff1a http blog csdn net xinzhangyanxiang article details 10199757 大学刚毕业 xff0c 总结起来读过的书并不算多 xff0c 而且主要集中在大四的时期读的 x
  • Bert: 双向预训练+微调

    最近要开始使用Transformer去做一些事情了 xff0c 特地把与此相关的知识点记录下来 xff0c 构建相关的 完整的知识结构体系 以下是要写的文章 xff0c 文章大部分都发布在公众号 雨石记 上 xff0c 欢迎关注公众号获取最
  • Federated Learning: 问题与优化算法

    工作原因 xff0c 听到和使用Federated Learning框架很多 xff0c 但是对框架内的算法和架构了解不够细致 xff0c 特读论文以记之 这个系列计划要写的文章包括 xff1a Federated Learning 问题与
  • DIN: 阿里点击率预估之深度兴趣网络

    广告推荐算法系列文章 xff1a 莫比乌斯 百度的下一代query ad匹配算法百度凤巢分布式层次GPU参数服务器架构DIN 阿里点击率预估之深度兴趣网络DIEN 阿里点击率预估之深度兴趣进化网络 本文的知识点来源于参考文献 1 xff0c
  • DIEN: 阿里点击率预估之深度兴趣进化网络

    广告推荐算法系列文章 xff1a 莫比乌斯 百度的下一代query ad匹配算法百度凤巢分布式层次GPU参数服务器架构DIN 阿里点击率预估之深度兴趣网络基于Delaunay图的快速最大内积搜索算法DIEN 阿里点击率预估之深度兴趣进化网络
  • 概率矩阵分解模型 PMF

    本文是论文 一种结合推荐对象间关联关系的社会化推荐算法 的笔记 xff08 上 xff09 因为对其中的概率矩阵分解 Probabilistic Matrix Factorization PMF 不够了解 xff0c 因而我先去脑补了PMF
  • 卷积神经网络

    卷积神经网络 转载请注明 xff1a http blog csdn net stdcoutzyx article details 41596663 自今年七月份以来 xff0c 一直在实验室负责卷积神经网络 xff08 Convolutio
  • linux系统非线性结构的遍历算法

    介绍 非线性结构的二叉搜索树 xff08 BST xff09 可以进行各种不同方式的遍历 xff0c 所谓遍历 xff0c 就是环游树中的每一个节点 xff0c 然后根据我们的需要对这些节点做某种处理 树的遍历方式主要有以下几种 xff08
  • DeepID人脸识别算法之三代

    DeepID人脸识别算法之三代 转载请注明 xff1a http blog csdn net stdcoutzyx article details 42091205 DeepID xff0c 目前最强人脸识别算法 xff0c 已经三代 如今

随机推荐

  • 理解dropout

    理解dropout 开篇明义 xff0c dropout是指在深度学习网络的训练过程中 xff0c 对于神经网络单元 xff0c 按照一定的概率将其暂时从网络中丢弃 注意是暂时 xff0c 对于随机梯度下降来说 xff0c 由于是随机丢弃
  • 深度卷积对抗生成网络(DCGAN)

    本文是参考文献 1 的论文笔记 卷积神经网络在有监督学习中的各项任务上都有很好的表现 xff0c 但在无监督学习领域 xff0c 却比较少 本文介绍的算法将有监督学习中的CNN和无监督学习中的GAN结合到了一起 在非CNN条件下 xff0c
  • 看图说话——CNN和LSTM的联合应用

    看图说话是深度学习波及的领域之一 其基本思想是利用卷积神经网络来做图像的特征提取 xff0c 利用LSTM来生成描述 但这算是深度学习中热门的两大模型为数不多的联合应用了 本文是参考文献 1 的笔记 xff0c 论文是比较早的论文 xff0
  • 机器学习经典书籍小结

    机器学习经典书籍小结 转载本博客请注明链接 xff1a http blog csdn net xinzhangyanxiang article details 9069045 博客第一篇文章 1 是转载的 xff0c 也算是开始写博客不经意
  • Microsoft Media foundation概述(附实例)

    Microsoft Media Foundation是微软新一代多媒体开发平台 xff0c 用以取代原来的Directshow xff0c 为了满足现在多媒体播放的高清晰 xff0c 高品质 xff0c 颜色管理 xff0c 以及充分利用硬
  • Dockerfile中 使用pip镜像源加速下载

    用dockerfile文件制作镜像 xff0c 提高pip下载速度 1 安装pip3 xff0c python3 RUN apt get update RUN apt get install y python3 5 RUN apt get
  • NVIDIA Jetson Nano主机的autoware的学习与demo运行-第7章-Autoware源码安装

    Autoware源码安装 建立workspace mkdir p autoware ai src cd autoware ai 这个是下载了一个名为autoware ai repos的文件 xff0c 是为了方便管理多个git库而开发 43
  • NVIDIA Jetson Nano主机的autoware的学习与demo运行-第8章-Autoware官方demo运行

    Autoware官方demo 个人学习者很少拥有齐全的传感器以及工控机 xff0c 所以我们可以用autoware ai官网提供的一些录制好的rosbag包及个人笔记本来跑些有趣的demo 安装了 Autoware 之后 xff0c 就可以
  • NVIDIA Jetson AGX Xavier主机刷机与SSD安装

    任务逻辑 当有个新的AGX主机到手上后 xff0c 主机是启动的是eMMC xff0c 大约30G存储 这个安装了系统后到后面随便弄一下就不够存储了 xff0c 所以我是想要在主机上安装一个SSD xff0c 然后将系统直接放到SSD上 x
  • 自平衡linux红黑树

    简介 实际应用中的自平衡搜索二叉树 xff0c 除了AVL之外 xff0c 红黑树也是备受宠爱 他不仅是linux中非线性结构的标准算法 xff0c 而且是Java中TreeMap TreeSet机制 C 43 43 中的STL这些经典工具
  • yolov3的训练(一)下载与训练

    darknet框架简介 https blog csdn net mao hui fei article details 113820303 AlexeyAB大佬的关于darknet的详细文档信息 https github com Alexe
  • yolov3的训练(五)darknet的VOC测试集和训练集以及训练前准备

    VOC测试集和训练集 同学们 xff0c 这个系列的文件不要直接就跟着我操作了 xff0c 因为这个是踩坑的记录 xff0c 不是教程 xff0c 我只是将整个流程记录下来 xff0c 让后面的同学操作的时候能够避开这些坑 xff0c 希望
  • yolov3的训练(七)使用darknet_ros框架进行识别与模型导入

    同学们 xff0c 这个系列的文件不要直接就跟着我操作了 xff0c 因为这个是踩坑的记录 xff0c 不是教程 xff0c 我只是将整个流程记录下来 xff0c 让后面的同学操作的时候能够避开这些坑 xff0c 希望你能将整个系列的操作流
  • ORB-SLAM2的布置(一)Pangolin的安装

    参考文件 ORB SLAM 2在github的官方流程 https github com raulmur ORB SLAM2 然后就是安装Pangolin 在 ORB SLAM 2 中那些很炫酷的实时建图画面是通过 Pangolin 实现的
  • ORB-SLAM2的布置(二)ORB-SLAM2的安装

    当在上一节中 xff0c Pangolin 安装成功后 xff0c 便可进行ORB SLAM2的安装 这里的普通模式是指直接运行编译之后的可执行文件 xff0c ROS 模式是以ROS机器人框架的形式执行 首先从 github 下载源文件
  • ORB-SLAM2的布置(四)ORB-SLAM2构建点云

    提要 高博的工作是对基本 ORB SLAM2 的扩展 xff0c 基本思想是为每个关键帧构造相应的点云 xff0c 然后依据从 ORB SLAM2 中获取的关键帧位置信息将所有的点云拼接起来 xff0c 形成一个全局点云地图 https g
  • ORB-SLAM2的布置(三)ORB-SLAM2的测试使用

    目标 在上一节 xff0c 我们完成了ORB SLAM2的编译与测试 xff0c 这一节使用完整的数据集进行测试 普通模式 这里的普通模式直接运行编译之后的可执行文件 单目摄像头 首先是单目摄像头 这里我们使用TUM数据集进行离线测试 去到
  • ORB-SLAM2的布置(五)使用 intel D435i 构建SLAM点云地图

    Intel RealSense SDK 2 0 是跨平台的开发套装 xff0c 包含了基本的相机使用工具如 realsense viewer xff0c 也为二次开发提供了丰富的接口 xff0c 包括 ROS xff0c python Ma
  • 阿里云ecs服务器(Ubuntu)配置图形界面并远程桌面连接

    1 登录阿里云后跳转到管理页面 xff0c 点击远程连接 xff08 如图1 xff09 2 选择Workbench远程连接登录进入到终端命令窗口 xff0c 首次登录需要设置实例密码 登录后界面如下 3 安装ubuntu桌面系统 执行下面
  • Windows Nodejs多版本使用

    一 遇到的问题 不同的项目使用的node版本不一致 xff0c 导致使用的时候 xff0c 安装依赖的时候冲突了 xff0c 从网上找了很多的方案 xff0c 解决起来也挺费劲的 xff1b 问题 xff1a 当一个项目使用低版本的时候 x