corepack管理包管理器;nvm管理node版本;nrm管理npm源地址

corepack

corepack 管理"包管理器",包括 yarnpnpm。corepack 并不能管理 npm

corepack 是 nodejs 提供的功能,安装 nodejs 时 corepack 就一起安装了。它还是实验性功能,默认是关闭的,具体介绍看官方文档。

注:下述说到 pnpm 的内容也适用于 yarn 。只提 pnpm 是为了方便叙述。

使用 corepack

先卸载 pnpm

使用 corepack 前,先卸载你自行安装的 pnpm,因为它们可能会影响 corepack。

卸载后使用 which pnpmpnpm -v 等命令确认是否成功

启用、禁用 corepack

启用: corepack enable ,禁用:corepack disable

为了查看启用的效果,用 which 找到 nodejs 所在目录(which是 linux 命令。在 windows cmd 中不能直接用,我是在 git bash 中执行的):

在这里插入图片描述

打开 nodejs 所在目录,包括以下内容:

在这里插入图片描述

开启 corepack:corepack enable。目录下多出了 pnpm 和 yarn 的相关文件(下图红框):

在这里插入图片描述
使用 which 命令查看。已经可以使用 pnpm 和 yarn 了,并且它们都来自 nodejs 目录:

在这里插入图片描述

禁用:corepack disable。目录下 pnpm 和 yarn 的相关文件(红框里的)又消失了。此时 pnpm 和 yarn 都不可用了。

corepack 控制的 pnpm 版本

通过 corepack 初次使用 pnpm 时,corepack 会从网络获取 pnpm 最新版本并缓存到本地。之后再使用 pnpm 时会直接用缓存的版本。

想要修改缓存的版本的话, 执行 corepack install -g pnpm@<version>

corepack 被禁用后重新启用,并不看作前面所说的”初次使用“。即:假设你之前通过 corepack 安装了 pnpm@4,corepack disable 后再 corepack enable ,使用 pnpm 还会使用 pnpm@4版本


使用 corepack 规定项目使用 pnpm 并锁定版本

多人开发项目时最好统一开发环境与工具。node 版本不同可能会导致项目无法启动、构建,或者 install package 时失败。pnpm 版本不同可能导致 pnpm-lock.yaml 不一致。

利用 corepack 可以规定项目使用的 pnpm 版本。在项目根目录下执行 corepack use pnpm@<version>

规定项目使用 pnpm,且版本为 4.0.0:

在这里插入图片描述

package.json 会自动添加 packageManager 项:

在这里插入图片描述

再使用 yarn 安装包的话,会阻止并报错:

在这里插入图片描述

但是使用 npm 安装包还是能成功,因为正如文章最开头说的: corepack 仅管理 yarnpnpm不能管理 npm

在这里插入图片描述


nvm

管理node版本。windows 系统用 nvm-windows

在这里插入图片描述


nrm

管理 npm registry 地址

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【TKGQA】关于时间知识图谱问答的一篇综述阅读

前言 时间知识图谱问答&#xff08;TKGQA&#xff09;是KBQA中一个关注时间问题的重要子任务。时间问题包含时间约束、需要时间标记的答案&#xff0c;反映了现实世界事件的动态和演变性质。 一、TKGQA 1.1 概述 时间知识图谱&#xff08;TKG&#xff09;&#xff1a; 通常表…

Windows环境利用 OpenCV 中 CascadeClassifier 分类器识别人脸 c++

Windows环境中配置OpenCV 关于在Windows环境中配置opencv的说明&#xff0c;具体可以参考&#xff1a;VS2022 配置OpenCV开发环境详细教程。 CascadeClassifier 分类器 CascadeClassifier 是 OpenCV 库中的一个类&#xff0c;它用于实现一种快速的物体检测算法&#xff0c;称…

链动3+1商业模式:革新之路,引领企业持续增长

随着信息技术的飞速发展和互联网的不断渗透&#xff0c;企业的商业模式变革已经成为市场竞争中不可或缺的一环。在这个变革的浪潮中&#xff0c;链动31商业模式以其独特的逻辑和高效的激励机制&#xff0c;成为了业界瞩目的焦点。本文将深入探讨链动31模式的运作机制&#xff0…

基于STM32的智能停车场管理系统

目录 引言环境准备智能停车场管理系统基础代码实现&#xff1a;实现智能停车场管理系统 4.1 车位检测模块4.2 数据处理与分析4.3 控制系统实现4.4 用户界面与数据可视化应用场景&#xff1a;智能停车场管理与优化问题解决方案与优化收尾与总结 1. 引言 智能停车场管理系统通…

数据结构经典面试之列表——C#和C++篇

文章目录 1. 数据结构概述2. 列表&#xff08;List&#xff09;的基本概念与操作3. 列表的具体实现方式3.1 数组实现3.2 链表实现 4. 列表在C#和C中的使用示例4.1 C#中的列表使用示例4.2 C中的列表使用示例 5. 总结 数据结构是计算机科学中非常重要的一个领域&#xff0c;它主要…

IDEA中Maven--下载安装自己适配的版本---理解

Maven解释&#xff1a; Maven是一个强大的项目管理工具和构建工具&#xff0c;主要用于Java项目。它能够帮助开发团队管理项目的依赖、构建项目、发布文档和报告&#xff0c;并能够自动化许多重复的任务。 Maven的主要作用包括&#xff1a; 依赖管理&#xff1a;Maven能够管理…

PostgreSQL兼容性最强的国产数据库居然是...

最近看到数据库圈子内很多朋友都在宣传PostgreSQL&#xff0c;不可否则&#xff0c;这几年PostgreSQL在国内还是比较火&#xff0c;相反MySQL似乎大家宣传的还少一些了。 老实说我个人对PostgreSQL没有太大的好感&#xff0c;虽然知道PostgreSQL功能很强大&#xff0c;用过一段…

高通安卓12-在源码中查找应用的方法

1.通过搜索命令查找app 一般情况下&#xff0c;UI上看到的APP名称会在xml文件里面定义出来&#xff0c;如 搜索名字为WiGig的一个APP 执行命令 sgrep "WiGig" 2>&1|tee 1.log 将所有的搜索到的内容打印到log里面 Log里面会有一段内容 在它的前面是这段内…

计算机网络(概述)

该笔记为湖科大计算机网络相关笔记、教材参考计算机网络第六版 湖科大计算机网络 计算机网络概述 因特网概述 Internet和internet的区别 internet&#xff1a;只要是计算机与计算机连接&#xff0c;形成了网络&#xff0c;就可以叫internet Internet&#xff1a;泛指全世界的…

Excel 组内多列明细拼成一行

某表格有 1 个分组列和 2 个明细列。 ABC1ObjectNameInfo212AGggtz44456312AGggtr99987412AKkkio66543512ABbvgf66643612AVvvhg888765712AFffgt8786FGggtf23232596FXxxde44321610P23Cccvb554328711P23Vvvbj565656412P23Sswec898976413P23Llloiu343432 现在要把组内的多列明细…

分解数据堆栈:存储和计算 2.0 的分解

在LinkedIn上&#xff0c;有一篇优秀的帖子在数据和数据库人群中流行。它由 Theory VC 合伙人 Tomasz Tunguz 撰写&#xff0c;讲述了我们自 2019 年以来讨论的趋势。 数据库正在成为高速查询引擎&#xff0c;并正在抛弃存储。这并不意味着存储不重要&#xff0c;相反&#xf…

蔚来汽车AI算法工程师,如何理解注意力?

大家好啊&#xff0c;我是董董灿。 今天分享一个上海蔚来汽车的AI算法岗位面试经验总结帖&#xff0c;面试岗位为算法工程师。 这次面试提到的问题&#xff0c;除了与实习相关内容和反问之外&#xff0c;面试官总共问了8个问题&#xff0c;主要集中在深度学习基础概念的理解上…

Python发送HTML邮件有哪些步骤?怎么设置?

Python发送HTML邮件如何实现&#xff1f;Python发送邮件的策略&#xff1f; HTML邮件不仅可以包含丰富的文本格式&#xff0c;还可以插入图片、链接和其他多媒体内容&#xff0c;从而提升邮件的美观性和功能性。AokSend将详细介绍Python发送HTML邮件的主要步骤&#xff0c;帮助…

C++ | Leetcode C++题解之第172题阶乘后的零

题目&#xff1a; 题解&#xff1a; class Solution { public:int trailingZeroes(int n) {int ans 0;while (n) {n / 5;ans n;}return ans;} };

Vue75-路由传参3

一、在index.js中使用props参数 1-1、写法一&#xff1a;值为对象 此时&#xff0c;参数是固定写死的&#xff0c;不推荐&#xff01; 1-2、值为布尔值 此时只能收到params中的参数&#xff01; 1-3、值为函数 &#xff08;最强大&#xff09; 二、小结

微信小游戏提审失败,小游戏内容涉嫌代码包内容侵权的解决方案

仅讨论正常开发提审遇到的问题&#xff0c;不适用于马甲包 前阵子提审了一款RPG游戏&#xff0c;因为游戏之前已经通过审核&#xff0c;这次发布的仅是一个小更新&#xff08;十几行代码的样子&#xff09;&#xff0c;结果也莫名其妙未通过审核&#xff0c;理由如下&#xff…

github连接报本地

一、创建GIthub账号 这里默认大家已经创建好了并且有加速器&#xff0c;能正常上网&#xff0c;然后才能进行下面的操作。 二、创建ssh公钥 网址&#xff1a;Sign in to GitHub GitHub Sign in to GitHub GitHub 进入下面的界面&#xff1a; 然后创建新的密钥 三、官方文…

HarmonyOS Next 系列之沉浸式状态实现的多种方式(七)

系列文章目录 HarmonyOS Next 系列之省市区弹窗选择器实现&#xff08;一&#xff09; HarmonyOS Next 系列之验证码输入组件实现&#xff08;二&#xff09; HarmonyOS Next 系列之底部标签栏TabBar实现&#xff08;三&#xff09; HarmonyOS Next 系列之HTTP请求封装和Token…

Hive笔记-5

240619-Hive笔记-5 6.2.2 全表和特定列查询 1) 全表查询 hive (default)> select * from emp; select 查看你要查看的信息 from 你要从哪张表里面查 2) 选择特定列查询 hive (default)> select empno, ename from emp; 注意&#xff1a; &#xff08;1&#xff0…

qt开发-08_layout 布局

Qt 提供了非常丰富的布局类&#xff0c;基本布局管理类包括&#xff1a;QBoxLayout、QGridLayout、QFormL ayout 和 QStackedLayout。这些类都从 QLayout 继承而来&#xff0c;它们都来源于 QObject&#xff08;而不是 QWi dget&#xff09;。创建更加复杂的布局&#xff0c;可…