【问题系列】同时管理多版本node方案

目录

一、问题描述

二、解决方案

三、详细步骤

3.1 安装NVM:

3.2 运行NVM

3.3 安装Node.js

3.4 切换Node.js版本

3.5 验证安装:

四、拓展

4.1 设置默认 Node.js 版本

4.2 列出已安装的 Node.js 版本

4.3 其他命令介绍


一、问题描述

需要运行多个前端项目,但是node版本不一样,要在Mac电脑上管理升级Node.js版本。进而成功运行多个项目

二、解决方案

可以按照以下步骤进行操作。将使用Node.js的版本管理工具NVM(Node Version Manager)来进行管理和切换版本。 

三、详细步骤

3.1 安装NVM:

打开终端(Terminal)并运行以下命令来安装NVM:

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

上述命令会下载并运行NVM的安装脚本。

3.2 运行NVM

重启终端或运行以下命令使NVM生效:

source ~/.bashrc

或者,如果你使用的是Zsh shell,可以运行:

source ~/.zshrc

如果使用的是其他Shell,请相应地修改上述命令。

3.2.1 zshrc详细介绍

如果你也是使用的是zsh,并且你的NVM目录是/Users/*****/.nvm,可以将以下内容添加到你的.zshrc文件中以确保NVM正确配置:

打开.zshrc文件:

vim ~/.zshrc

或者您可以使用其他文本编辑器,如nanocode

在文件的末尾添加以下行,将NVM的路径添加到$PATH

export NVM_DIR="$HOME/.nvm" [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm [ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion

保存并关闭文件。

使更改生效:

source ~/.zshrc

现在,NVM应该在Zsh终端中正常工作。你可以使用以下命令来安装和管理Node.js版本:

3.3 安装Node.js

安装最新版本的Node.js:

nvm install node

或者,如果想安装特定版本,可以运行:

nvm install <version>

在上述命令中,<version>应替换为你想要安装的Node.js版本号,例如14.17.0

3.4 切换Node.js版本

如果之前已经安装了多个Node.js版本,就可以使用以下命令来切换版本:

nvm use <version>

在上述命令中,<version>应替换为您想要切换到的Node.js版本号。

3.5 验证安装

运行以下命令来验证Node.js和NPM是否成功安装并显示版本信息:

node -v 
npm -v

这应该分别显示安装的Node.js版本和NPM版本。

通过这些步骤,就成功地在Mac电脑上升级了Node.js的版本。NVM是一个非常方便的工具,可以让我们轻松切换不同版本的Node.js。

四、拓展

4.1 设置默认 Node.js 版本

nvm alias default <version>

这将设置默认的 Node.js 版本,以便在新的终端会话中自动使用该版本。

4.2 列出已安装的 Node.js 版本

nvm ls 或 nvm list 或 nvm ls-remote(远程列表):

列出已经在您的计算机上安装的所有 Node.js 版本。

nvm ls:

与 nvm ls 相同,用于列出已安装的 Node.js 版本。 

nvm list:

列出所有远程可用的 Node.js 版本。

nvm ls-remote:

4.3 其他命令介绍

nvm currentnvm which

  • nvm current:显示当前活动的 Node.js 版本。
  • nvm which:显示当前活动的 Node.js 可执行文件的路径。

nvm alias <name> <version>:

  • 为指定版本的 Node.js 创建一个别名。这个别名可以替代版本号在其他命令中使用。例如,nvm alias mynode 14.17.0 将创建一个名为 "mynode" 的别名,代表 Node.js 14.17.0。

nvm uninstall <version>:

  • 从系统中卸载指定版本的 Node.js。例如,nvm uninstall 14.17.0 将卸载 Node.js 14.17.0。

nvm --versionnvm -v

  • 显示当前 NVM 的版本号。

nvm --helpnvm -h

  • 显示 NVM 的帮助文档,其中包含所有可用命令和选项的详细信息。

五、送你一句话

不要质疑你的付出,这些都会是一种累积一种沉淀,它们会默默铺路,只为让你成为更优秀的人。

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

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

相关文章

华为配置策略路由(基于IP地址)示例

组网需求 如图1所示&#xff0c;汇聚层Switch做三层转发设备&#xff0c;接入层设备LSW做用户网关&#xff0c;接入层LSW和汇聚层Switch之间路由可达。汇聚层Switch通过两条链路连接到两个核心路由器上&#xff0c;一条是高速链路&#xff0c;网关为10.1.20.1/24&#xff1b;另…

软文推广的好处居然有这些,媒介盒子分享

中小企业想要宣传品牌的话可以怎么做&#xff1f;媒介盒子首推软文推广&#xff0c;因为软文推广相比于其他的推广方式&#xff0c;带来的效果更加明显&#xff0c;而且在前期投入的资金相比于其他营销方式的投入是非常少的&#xff0c;对于中小企业推广来说&#xff0c;软文推…

2024 年 22 款顶级免费数据恢复软件比较 [Windows 和 Mac]

适用于 Windows 和 Mac 用户的最佳数据恢复软件下载列表和比较&#xff0c;可快速恢复丢失的数据、已删除的文件、照片或格式化的分区数据&#xff1a; 数据恢复软件是一种从任何存储介质恢复丢失文件的应用程序。它可以恢复由于病毒攻击、硬盘故障或任何其他原因而意外删除或…

推荐6个场景开源项目,建议收藏

社交泛娱乐——【找搭子】 饭搭子、旅游搭子、遛狗搭子.....这种新型的“搭子社交”在年轻群体中逐渐流行起来。区别于传统社交&#xff0c;搭子关系&#xff0c;陌生以上&#xff0c;友人未满&#xff0c;这种轻松的浅社交既能获得志趣相投的陪伴&#xff0c;又不用苦心经营彼…

使用 pytest.ini 文件控制输出 log 日志

一、前置说明 pytest.ini 文件中可以配置参数来控制 pytest 的运行行为,其存放路径要求与 conftest.py 一样。 项目根目录project_root/ ├── pytest.ini ├── tests/ │ └── test_demo.py以test开头的测试子目录project_root/ ├── tests/ │ ├── pytest.in…

智能优化算法应用:基于鱼鹰算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用&#xff1a;基于鱼鹰算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用&#xff1a;基于鱼鹰算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.鱼鹰算法4.实验参数设定5.算法结果6.参考文献7.MA…

SQL手工注入漏洞测试(MySQL数据库)

一、实验平台 https://www.mozhe.cn/bug/detail/elRHc1BCd2VIckQxbjduMG9BVCtkZz09bW96aGUmozhe 二、实验目标 获取到网站的KEY&#xff0c;并提交完成靶场。 三、实验步骤 ①、启动靶机&#xff0c;进行访问查找可能存在注入的页面 ②、通过测试判断注入点的位置(id) (1)…

udp广播的例子

以下是一个使用C语言描述广播发送和接收的简单示例&#xff1a; 发送端&#xff08;广播发送&#xff09;&#xff1a; #include <stdio.h> #include <stdlib.h> #include <string.h> #include <sys/socket.h> #include <netinet/in.h> #inclu…

【Linux系统编程】【Google面试题改编】线程之间的同步与协调 Linux文件操作

编写程序&#xff0c;有四个线程1、2、3、4 线程1的功能就是输1,线程2的功能就是输出2,以此类推……现在有四个文件ABCD初始都为空 现要让四个文件呈如下格式&#xff1a; A: 1 22 333 4444 1 22 333 4444… B: 22 333 4444 1 22 333 4444 1… C: 333 4444 1 22 333 4444 1 2…

华为gre隧道全部跑静态路由

最终实现&#xff1a; 1、pc1能用nat上网ping能pc3 2、pc1能通过gre访问pc2 3、全部用静态路由做&#xff0c;没有用ospf&#xff0c;如果要用ospf&#xff0c;那么两边除了路由器上跑ospf&#xff0c;核心交换机也得用ospf r2配置&#xff1a; acl number 3000 rule 5 deny…

基于web的学生就业管理系统的设计与实现论文

摘 要 如今社会上各行各业&#xff0c;都喜欢用自己行业的专属软件工作&#xff0c;互联网发展到这个时候&#xff0c;人们已经发现离不开了互联网。新技术的产生&#xff0c;往往能解决一些老技术的弊端问题。因为传统学生就业信息管理难度大&#xff0c;容错率低&#xff0c…

Java多线程技术五——单例模式与多线程-备份

1 概述 本章的知识点非常重要。在单例模式与多线程技术相结合的过程中&#xff0c;我们能发现很多以前从未考虑过的问题。这些不良的程序设计如果应用在商业项目中将会带来非常大的麻烦。本章的案例也充分说明&#xff0c;线程与某些技术相结合中&#xff0c;我们要考虑的事情会…

【ITK库学习】使用itk库进行图像配准:变换Transform(一)

目录 1、itkIdentityTransform 一致变换2、itkTranslationTransform 平移变换3、itkScaleTransform 比例变换4、itkRigid2DTransform 刚性2D变换5、itkCenteredRigid2DTransform 居中刚性2D变换6、itkEuler2DTransform 欧拉2D变换7、itkSimilarity2DTransform 2D相似度变换 1、…

如何使用 Matplotlib 绘制 3D 圣诞树

系列文章目录 前言 转自&#xff1a;How to draw a 3D Christmas Tree with Matplotlib | by Timur Bakibayev, Ph.D. | Analytics Vidhya | Mediumhttps://medium.com/analytics-vidhya/how-to-draw-a-3d-christmas-tree-with-matplotlib-aabb9bc27864 因为我们把圣诞树安装…

Linux操作系统——进程(四)进程切换与命令行参数

进程切换 概念引入 下面我们先了解几个概念&#xff1a; 竞争性: 系统进程数目众多&#xff0c;而CPU资源只有少量&#xff0c;甚至1个&#xff0c;所以进程之间是具有竞争属性的。为了高效完成任务&#xff0c;更合理竞争相关资源&#xff0c;便具有了优先级 独立性: 多进程…

阶段七-GitEE

Git&#xff1a;版本控制软件 Git的优点 1.1 协同修改 多人并行不悖的修改服务器端的同一个文件。 1.2 数据备份 不仅保存目录和文件的当前状态&#xff0c;还能够保存每一个提交过的历史状态。 1.3 版本管理 在保存每一个版本的文件信息的时候要做到不保存重复数据&…

【开源】基于JAVA的学校热点新闻推送系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 新闻类型模块2.2 新闻档案模块2.3 新闻留言模块2.4 新闻评论模块2.5 新闻收藏模块 三、系统设计3.1 用例设计3.2 数据库设计3.2.1 新闻类型表3.2.2 新闻表3.2.3 新闻留言表3.2.4 新闻评论表3.2.5 新闻收藏表 四、系统展…

W5500-EVB-Pico评估版介绍

文章目录 1 概述2 板载资源2.1 硬件规格2.2 硬件规格2.3 工作条件 3 参考资料3.2 原理图3.3 尺寸图 (单位 : mm)3.4 参考例程 4 硬件协议栈优势 1 概述 W5500-EVB-Pico是基于树莓派RP2040和完全硬连线TCP/IP控制器W5500的微控制器开发板-基本上与树莓派Pico板相同&#xff0c;但…

深度学习(七):bert理解之输入形式

传统的预训练方法存在一些问题&#xff0c;如单向语言模型的局限性和无法处理双向上下文的限制。为了解决这些问题&#xff0c;一种新的预训练方法随即被提出&#xff0c;即BERT&#xff08;Bidirectional Encoder Representations from Transformers&#xff09;。通过在大规模…

Qt Creator可视化交互界面exe快速入门2

上一期介绍的通过代码的方式实现一个简单界面&#xff0c;需要敲小几十行代码&#xff0c;显然是效率低的&#xff0c;这期就介绍下Qt Creator的作用。 Qt Creator的使用&#xff1a; 首先打开我们的Qt Creator 然后点击创建项目&#xff0c;在项目Application里面选择Qt Wid…