使用volta管理前端开发环境

背景:公司有新老不同的产品,使用的node版本不一样,每次都要手动切换node版本,对应的项目才能运行。这样很麻烦,有没有好的解决方法,就找到了volta。

1.为什么是volta?

管网介绍:使用 Volta,一旦您选择了 Node 引擎,您就不必担心它。切换项目不需要您手动切换版本。

  • 跨平台支持,包括 Windows 和所有 Unix shell
  • 快速设置和切换node引擎
  • 逐个项目的无缝版本切换
  • 支持多个包管理器(目前支持npm、yarn)
  • 为协作者提供可复制的环境

2.安装

2.1 mac安装

mac安装nvm和volta都很简单,这里直接使用官方的安装方法。

curl https://get.volta.sh | bash

使用以上命令就可以安装好volta了,使用命令验证volta安装是否成功。

volta -v  // 可以输出当前版本

2.2 windows 安装

在Windows上安装需要下载: volta安装包,按照提示一直next安装即可。
下载地址:https://github.com/volta-cli/volta/releases/download/v1.0.6/volta-1.0.6-windows-x86_64.msi
在这里插入图片描述
安装完成之后,也可以执行命令验证一下。
在这里插入图片描述

3.安装node

3.1 安装最新的版本

volta install node@latest

在这里插入图片描述

3.2 安装指定的版本

volta install node@14.5.0

在这里插入图片描述

3.3 下载node包,放到安装目录进行安装

如果总是安装失败,可以到node官方下载node安装包,进行本地安装。node下载地址:
https://registry.npmmirror.com/binary.html?path=node/

找到以后把包放到我们的安装目录,

  • mac:/Users/用户名/.volta/tools/inventory/node
  • win: C:\Users\admin\AppData\Local\Volta\tools\image\node
  • 不需要管npm,本地安装之后就有了
  • 直接在终端执行安装命令即可

4.查看安装环境

此时,我们已经安装了两个版本,可以使用命令查看我们安装的版本列表

volta list // 查看当前环境依赖
volta list all // 查看所有环境依赖

在这里插入图片描述

5. 项目版本无缝切换

  • 我们有了多个版本的node,就可以到项目中进行对应的设置了。
  • 比如我们vue2的项目需要14版本的node,前往项目目录执行命令
volta pin node@14
  • 如果我们使用node@14,volta会帮助我们找14中最合适的版本,可能不是我们安装过的版本,如果想使用我们安装的版本,必须把版本号写全
volta pin node@14.5.0
  • 此时我们的项目package.json中会多一个配置
"volta": {"node": "14.5.0"
}

6. 支持多个包管理器(目前支持npm、yarn)

  • 此配置用来指明我们当前项目设置的volta的环境,包含node、npm、yarn。
  • 虽说node自带npm,但如果我们想限制我们项目npm版本也是可以的,比如限制为8.0.0
volta pin npm@8.0.0
  • 执行完成之后,package.json 中会多一个配置
"volta": {"node": "14.5.0","npm": "8.0.0"
}
  • 如果想设置 yarn 也是同样的道理。

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

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

相关文章

国内外典型的知识图谱项目

文章目录 早期的知识库项目互联网时代的知识图谱中文开放知识图谱垂直领域知识图谱 从人工智能的概念被提出开始,构建大规模的知识库一直都是人工智能、自然语言理解等领域的核心任务之一。下面分别介绍早期的知识库项目、互联网时代的知识图谱、中文开放知识图谱和…

MYSQL 字母大小转换

1、UCASE() 解释:把数值列(字段)的字每母转换为大写。 语法格式:SELECT UCASE(column_name) FROM table_name 中文注释:select UCASE(数值列/字段) from 表名 ; 用法: SELECT UCASE(column_name) FROM table_name;2、LCASE(…

【论文阅读笔记】PA-SAM: Prompt Adapter SAM for High-Quality Image Segmentation

1.论文介绍 PA-SAM: Prompt Adapter SAM for High-Quality Image Segmentation PA-SAM:用于高质量图像分割的提示适配器SAM 2024年 ICME Paper Code 2.摘要 Segment Anything Model,SAM在各种图像分割任务中表现出了优异的性能。尽管SAM接受了超过10亿…

# Mac环境如何安装Flutter:全面指南

Mac环境如何安装Flutter:全面指南 Flutter 是 Google 开发的开源移动 UI 框架,允许开发者使用 Dart 语言快速在 iOS 和 Android 上构建高质量的原生界面。本指南将详细指导您如何在 Mac 环境下安装 Flutter,确保您能够顺利开始 Flutter 开发…

软考又考了,数据库范式这次一定要弄懂!

0. 引言 今年数据库范式又作为选择题在软考中出题了,范式和反范式同样也在我们日常开发的数据库表设计工作中提供重要理论,今天我们来彻底弄懂几大范式的概念和区别,以及常见的反范式设计方法 1. 定义 1.1 基础概念 在实际讲解之前&#…

Python实现连连看12

4.2.5 获取图片连接方式 通过自定义函数getLinkType()获取图片的连接方式,代码如下所示。 def getLinkType(pre_row, pre_col, cur_row, cur_col):if pics_map[pre_row][pre_col] != pics_map[cur_row][cur_col]:return NONE_LINKif isNoCornerLink(pre_row, pre_col, cur_r…

嵌入式数据库_3.嵌入式数据库的主要功能及典型产品

1.嵌入式数据库的功能 嵌入式数据库的功能应与通用数据库功能相似,应覆盖数据库的核心功能。通常,嵌入式数据库有其自身的特殊需要,它应具备的功能包括以下4点: 足够高效的数据存储机制;数据安全控制(锁机…

终于用上了桌面版本的chatGPT

最近经过不断的探索,也算是用上了桌面版本的chatgGPT,想要用同学,可以关注一下,后面我会出一期教程的~

docker安装elasticsearch8和kibana,带ik分词器

全文目录,一步到位 1.前言简介1.1 专栏传送门 2. elasticsearch和kibana安装2.1 准备工作2.1.1 下载elasticsearch2.1.2 下载kibana镜像 2.2 创建并运行es容器2.2.1 创建es网络2.2.2 创建es容器2.2.3 放行端口2.2.4 访问查看结果> 步骤一: 点击高级, 然后继续访问> 步骤二…

力扣878.第N个神奇数字

力扣878.第N个神奇数字 二分答案 check():公共部分为最大公倍数的倍数 class Solution {const long MOD 1e9 7;public:int nthMagicalNumber(int n, int a, int b) {//lcm函数 求最大公倍数long lcm std::lcm(a,b);auto check [&](long long mid) -> …

KIVY AliasProperty 运用报错汇总

案例1: 在Kivy中,AliasProperty 允许你创建一个属性的别名,该别名可以基于其他属性计算得到。但是,与普通的Python属性不同,Kivy的Property类(包括AliasProperty)并没有直接提供定义getter和s…

Python 3.13 有什么新变化

Python 3.13 beta 是 Python 编译语言下一正式版本的预发布版本,包含多项针对语言、实现和标准库的改变。 针对实现的最大改变包括新的交互式解释器,以及对于去除全局解释器锁 (PEP 703) 和启用即时编译器 (PEP 744) 的实验性支持。 针对标准库的改变包括…

Tensorflow入门实战 T04-猴痘识别

本篇文章主要:tensorflow 运行环境:本地cpu 运行epoch:50 1、tensorflow官网 tensorflow的官网教程。初学者的 TensorFlow 2.0 教程 | TensorFlow Core 官网上有图像分类的相关详细描述还有代码示例。 2、完整代码展示 from tensorflo…

单调队列总结

单调队列的介绍 由于现在我也没接触过正经的单调队列的定义,因而引申为介绍, 单调队列,类似与单调栈,存储在单调队列里面的元素理应都是单调的,单调队列的基础使用deque(双端队列)去实现的&am…

【总线】AXI总线:FPGA设计中的通信骨干

目录 AXI4:高性能地址映射通信的基石 AXI4-Lite:轻量级但功能强大的通信接口 AXI4-Stream:高速流数据传输的利器 结语:AXI总线在FPGA设计中的重要性 大家好,欢迎来到今天的总线学习时间!如果你对电子设计、特别是FPGA和SoC设计…

FlowUs息流开启知识管理的新纪元|FlowUs息流公开知识库

在信息爆炸的时代,如何高效地管理和利用知识成为了一个挑战。FlowUs知识库以其超巨的性价比,为用户带来了全新的解决方案。它不仅仅是一个存储信息的工具,更是一个能够激发创造力和提高生产力的平台。 性价比之选 FlowUs以其合理的价格&…

redis数据结构—哈希表

我在“redis存储结构”这篇文章中介绍了redis存储数据的方式——字典,redis的字典使用高效的hash table实现,这里详细介绍redis中哈希表的实现和工作原理 redis的哈希表结构 typedef struct dictht {//哈希表数组dictEntry **table;//哈希表大小unsign…

ChromeDriver新手教程:一步步指导Chrome 114到127版本的驱动安装

114之前版本下载链接在这里 ​​​​​​125以后版本下载链接在此,只有后面status是绿色对勾的才可以下载,驱动大版本一致就可以使用,不需版本号一模一样;下载所需版本只需点击对应的版本名称即可跳转到对应版本的下载位置。 以…

学习笔记——网络管理与运维——SNMP(基本配置)

四、SNMP基本配置 1、SNMP配置举例 整个华为数通学习笔记系列中,本人是以网络视频与网络文章的方式自学的,并按自己理解的方式总结了学习笔记,某些笔记段落中可能有部分文字或图片与网络中有雷同,并非抄袭。完处于学习态度&#x…

windows系统把桌面的文件重定向到电脑的其他分区盘

当我们使用windows系统的电脑时,很喜欢把一些常用的文件放到桌面上。而桌面上的文件默认都是设定在C盘下的。时间长了,C盘容易爆红(空间不足)。下面我将介绍一种比较简单快捷的办法来解决这种问题--就是把桌面的文件重定向到电脑的其他分区盘。 首先我们…