npm: .npmrc pnpm

pnpm i 安装依赖时,pnpm 的镜像源优先级遵循以下顺序:

  1. 命令行参数:可以通过在 pnpm i 命令中使用 --registry= 的方式指定镜像源,此时会优先使用命令行参数指定的镜像源。
    pnpm i --registry=< registry-url >
  2. .npmrc 配置:如果未在命令行中指定镜像源,则 pnpm 会查找项目目录下的 .npmrc 文件,检查其中的 registry 配置,并使用该配置指定的镜像源。
  3. 全局配置:如果既没有命令行参数指定镜像源,也没有 .npmrc 文件中的配置,pnpm 会使用其在全局配置中设置的默认镜像源。

npm i 包 下载时,也会从.npmrc指定的镜像下下载包

.npmrc

registry=https://npmjs.test.cn

cpp 复制代码
可以 执行 下面命令测试下
npm i @test-lego/cli
或 pnpm i @test-lego/cli
cpp 复制代码
.npmrc
strict-peer-dependencies=false
resolution-mode=time-based
shared-workspace-lockfile=false
## 以下配置主要用于支持 pnpm
"public-hoist-pattern[]"=*eslint*
"public-hoist-pattern[]"=*stylelint*
"public-hoist-pattern[]"=*prettier*

// 
strict-peer-dependencies设置为 false 时,包管理器将更加灵活地处理 peer dependencies,
允许某些情况下即使 peer dependencies 缺失或版本不匹配也继续安装依赖。

resolution-mode设置了 resolution-mode=time-based 后,pnpm 将根据包依赖的安装时间来
解析依赖的版本。这意味着在安装依赖时,pnpm会优先选择安装时间最新的版本。

shared-workspace-lockfile设置 shared-workspace-lockfile=false 后,每个工作区的包
会有独立的锁文件(如 pnpm-lock.yaml),而不是共享同一个锁文件。

.npmrc 文件中配置的 "public-hoist-pattern[]"=*eslint* 和 "public-hoist-pattern[]"=*stylelint* 
是用于 pnpm 的公共提升模式(Public Hoisting Pattern)配置,表示所有包中包含 
eslint 和 stylelint 的包都会被提升到更高级别的依赖树中,以避免重复安装。
cpp 复制代码
项目结构式是
applications
share
.npmrc
package.json

//applications下有多个仓库

在.npmrc中有
## 以下配置主要用于支持 pnpm
"public-hoist-pattern[]"=*eslint*
"public-hoist-pattern[]"=*stylelint*
这些配置,但是我在顶层的package.json没有发现eslint和 stylelint相关的包

这是因为安装了vscode的eslint插件和stylelint的插件,不需要单独安装包
相关推荐
漂流瓶jz4 小时前
Webpack如何实现万物皆可import?loader的使用/配置/手写实践
前端·javascript·webpack
ZC跨境爬虫4 小时前
跟着 MDN 学CSS day_41:显式轨道、隐式网格与区域命名放置
前端·javascript·css·ui·交互
修己xj5 小时前
告别手动存图!这款叫 Fatkun 的浏览器插件,简直是素材收集神器
前端
袋鼠云数栈5 小时前
从前端到基础设施,ACOS 如何打通企业全链路可观测
运维·前端·人工智能·数据治理·数据智能
AskHarries6 小时前
系统提示词、开发者指令和用户输入的优先级
java·前端·数据库
Moment6 小时前
长上下文会最终杀死 Rag 吗?
前端·javascript·后端
qcx236 小时前
【系统学AI】25 论文导读 ①:两篇改变 AI 的开山之作——Attention Is All You Need & ReAct
前端·人工智能·react.js·transformer
kyriewen7 小时前
大文件上传最全指南:分片、断点续传、秒传,一篇就够了
前端·javascript·面试
郑洁文8 小时前
基于Python的Web命令执行漏洞自动化检测系统
前端·python·网络安全·自动化
新酱爱学习8 小时前
手搓 10 个 Skill 后,我把重复劳动收敛成了一套零依赖 CLI 工具
前端·javascript·人工智能