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 地址

在这里插入图片描述

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

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

相关文章

产品经理经验分享:电商类项目开发需要了解常用的电商API接口

今天主要分享产品经理设计电商类应用需要了解的常用API&#xff1f; 为什么产品经理需要了解常用电商API接口呢&#xff1f; 1.开需求会&#xff0c;提了新的需求&#xff0c;开发说&#xff0c;你这个需求太复杂&#xff0c;光接口就有20几个&#xff0c;按照排期根本做不完…

【JavaScript脚本宇宙】让表单数据变得简单:探索六种强大的JavaScript库

提升表单体验&#xff1a;比较流行的JavaScript验证库 前言 在现代Web开发中&#xff0c;处理表单数据是一个常见的任务。为了简化这个过程&#xff0c;开发者通常会使用一些JavaScript库来序列化和验证表单数据。在这篇文章中&#xff0c;我们将介绍六种流行的表单处理库&am…

对yoloV8进行标签过滤来实现行人检测

前言 上一章我们介绍的通过迁移学习&#xff0c;在新的行人数据集上使用已经学习到的特征和权重&#xff0c;从而更快地实现行人检测任务。模型就会调整其参数以适应新的数据集&#xff0c;以提高对行人的识别性能。接下来介绍一种更快更便捷的方法&#xff0c;依旧是基于yolo…

ES6(ECMAScript 6.0) 新特性

1 ES6 基本介绍 &#xff08;1&#xff09;ECMAScript 6.0(简称 ES6)是 JavaScript 语言的下一代标准&#xff0c; 2015 年 6 月发布。 &#xff08;2&#xff09;ES6 设计目标&#xff1a;达到 JavaScript 语言可以用来编写复杂的大型程序&#xff0c;成为企业级开发语言 &…

每天一个项目管理概念之干系人

项目管理中的干系人是指那些能够影响项目结果或者受项目结果影响的个人、群体或组织。理解并妥善管理干系人对于项目的成功至关重要。干系人管理是项目管理中的一个关键组成部分&#xff0c;它涉及到识别干系人、分析他们的利益和影响力、制定适当的沟通策略以及管理他们的期望…

Python机器学习完整流程:从数据清洗到推理落地

目录 一、引言 二、数据清洗 数据加载与初步探索 缺失值处理 异常值处理 特征编码与转换 数据集划分 三、模型训练 四、模型文件生成 五、模型部署与推理落地 六、总结 一、引言 在当今数据驱动的时代&#xff0c;机器学习已成为解决复杂问题的有力工具。而…

预埋螺栓抗滑移系数检测 内六角螺栓扭矩系数检测

螺栓检测范围&#xff1a;螺栓&#xff0c;高强螺栓&#xff0c;地脚螺栓&#xff0c;不锈钢螺栓&#xff0c;六角头螺栓&#xff0c;管片螺栓&#xff0c;膨胀螺栓&#xff0c;化学螺栓&#xff0c;镀锌螺栓&#xff0c;植筋螺栓&#xff0c;普通螺栓&#xff0c;钢结构螺栓&a…

Golang免杀-编码加密-Xor(GG)

go语言环境搭建 Golang学习日志 ━━ 下载及安装_golang下载-CSDN博客 go run xxx.go go build xxx.go 首先,cs.msf生成比特流数据. 放入xor,py脚本中进行xor加密. xor.py def xor(shellcode, key):new_shellcode ""key_len len(key)# 对shellcode的每一位进行…

从零开始设计一款gpu from scratch

基于RISC-V核心从零开始打造一款GPU芯片是一项复杂且具有挑战性的任务&#xff0c;涉及到硬件设计、软件支持、性能优化等多个方面。以下是一个详细的步骤指南&#xff0c;帮助你从零开始设计并实现一个基于RISC-V核心的GPU芯片。 1. 定义需求和目标 1.1 应用场景 确定GPU的…

JAVA台球助教台球教练多端系统源码支持微信小程序+微信公众号+H5+APP

&#x1f3b1;台球助教系统&#xff1a;你的私人教练在线等你&#x1f3af; 功能介绍 球厅端&#xff1a;球厅认证、教练人数、教练的位置记录、助教申请、我的项目、签到记录、我的钱包、数据统计 教练端&#xff1a;我的页面&#xff0c;数据统计、订单详情、保证金、实名…

CP测试是什么 及名词解释

芯片中的CP一般指的是CP测试&#xff0c;也就是晶圆测试&#xff08;Chip Probing&#xff09;。 一、CP测试是什么 CP测试在整个芯片制作流程中处于晶圆制造和封装之间&#xff0c;测试对象是针对整片晶圆&#xff08;Wafer&#xff09;中的每一个Die&#xff0c;目的是确保…

如何衡量llm 数据集的多样性

衡量大型语言模型&#xff08;LLM&#xff09;数据集的多样性是一个复杂的问题&#xff0c;因为多样性可以从多个角度来考虑。以下是一些常用的方法和指标来评估数据集的多样性&#xff1a; 词汇多样性&#xff1a; 类型-词符比&#xff08;Type-Token Ratio, TTR&#xff09;…

群辉DSM7下ZeroTier的安装

目录 一、起因 二、具体操作 1、添加组件源: 2、安装套件 3、开启ssh 4、连接ssh执行修补 5、手工启动ZeroTier 6、使用终端命令加入网络 7、审核通过该节点的加入 三、测试链接 1、PC端测试 2、手机APP测试 ZeroTier是个内网穿透的远程组网系统,它可以将全世界的终…

功率半导体静态试验测试方法

VCES 集电极-发射极饱和电压 VCES&#xff08;Voltage Collector-Emitter Saturation&#xff0c;集电极-发射极饱和电压&#xff09;是指晶体管&#xff08;通常指双极型晶体管&#xff0c;如BJT&#xff09;在饱和工作区时集电极与发射极之间的电压。 测量VCES的过程通常如…

算法笔记(二叉树1)

leetcode144 二叉树的前序遍历 递归版本 public List<Integer> preorderTraversal(TreeNode root) {List<Integer> res new ArrayList<>();preorder(root, res);return res; }public void preorder(TreeNode root, List<Integer> res) {if (root n…

【电子数据取证】如何快速在CSV中找到涉案手机号码

文章关键词&#xff1a;电子数据取证、聊天记录恢复、数据恢复、手机取证、介质取证 一、前言 在最近的取证工作中&#xff0c;我们遇到很多需要从大量的聊天记录数据中提取特定的信息&#xff0c;例如手机号码&#xff0c;银行号码&#xff0c;交易码。由于数据通常以数据库…

ipython的使用与详解

Ai文章推荐 1 作为程序员&#xff0c;开发用过最好用的AI工具有哪些&#xff1f; 2 Github Copilot正版的激活成功&#xff0c;终于可以chat了 3 idea,pycharm等的ai assistant已成功激活 4 新手如何拿捏 Github Copilot AI助手&#xff0c;帮助你提高写代码效率 5 Jetbrains的…

Linux系统下多网卡多网关设置

场景一&#xff1a; 主机AB得网卡1和网卡2都分别划分在VLAN1和VLAN2中&#xff0c;主机C在VLAN3中&#xff0c;VLAN1&#xff0c;2&#xff0c;3在三层交换设备上配置好网关192.168.1.1 192.168.2.1 192.168.3.1&#xff0c;并开启三层交换功能。 主机A的两块网卡分别IP为192…

Linter 与code formatter之python 编程起手式

1. Linter 与code formatter Linting and code formatting are essential practices in software development, particularly in Python, to maintain code quality, readability, and consistency. Let’s delve into their functions and how to use them in PyCharm when w…

Sectigo OV通配符SSL证书多少钱?

在网络安全领域&#xff0c;SSL数字证书起着至关重要的作用&#xff0c;尤其是在保护网站和用户信息方面。而Sectigo OV通配符证书是一种常用的数字证书之一&#xff0c;它能够为同一域名下的多个子域名提供保护&#xff0c;还能够通过企业验证来增强安全性。那么&#xff0c;对…