- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
假设我对 Javascript monorepo 有以下限制
-- module a
package.json
-- module b
package.json
package.json
模块 A 和模块 B 都依赖于 lodash。
对于 pnpm,有没有办法确保它们都使用相同版本的 lodash?比如在根目录中安装 lodash 并说“使用工作区根目录中的任何版本”?
附言我知道 pnpm 允许或工作区,但据我了解(这可能是错误的),只有当依赖项已经是 monorepo 中的模块时才使用它——不适用于第 3 方依赖项。
最佳答案
您可以使用 package.json
中的 overrides
字段来实现此目的。
https://pnpm.io/package_json#pnpmoverrides
{
"pnpm": {
"overrides": {
"lodash": "4.17.20"
}
}
}
Yarn 中存在类似的功能,称为 resolutions
。显然有一些差异,虽然我不熟悉细节。 The feature was added here.
你也可以试试syncpack
如果 overrides
解决方案不适合您。在我的组织中,我们正在慢慢转向 syncpack
以解决仅由我们的 monorepo 包请求依赖项的问题;这样做的理由是随着时间的推移积累了太多的覆盖。
但是为了确保依赖的依赖版本,overrides
仍然是你所需要的。
例如如果你安装了 react-dom
并且它依赖于 scheduler
并且出于某种原因你需要一个特定版本的 scheduler
,那么 覆盖
方法是您唯一的选择 - syncpack
对此无能为力。
关于monorepo - pnpm -- 依赖的同步版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66181636/
我们的团队使用 PNPM,一个反复出现的问题是我们似乎安装了不同版本的 pnpm 命令,导致在添加或更新包时锁定文件 git 冲突。 PNPM 是一个全局性工具,所以我不太确定如何处理这种情况。某些
问题很简单,我想更改 pnpm 安装全局包的位置。 我在 Windows 上有一个自定义 Node 安装,并且希望将所有内容都放在该目录下,特别是因为该目录在我的 PATH 中,但不是默认目录。 更清
有什么方法可以检查 pnpm 商店的目录/路径吗? 我知道你可以用 npm config set store /path/to/.pnpm-store 设置它, 但是 npm config get s
我使用 pnpm 管理 npm 项目,不小心修改了安装包的内容,比如我清除了 node_modules/jquery/dist/jquery.js 的内容。 问题是无论我如何重新安装 jquery(
我正在尝试通过运行来启用“corepack” corepack enable 根据此处的说明:https://yarnpkg.com/getting-started/install 但是出现这个错误
我有我的 package.json 文件,如果我使用 npm i 安装所有依赖项 - 一切正常,但如果我使用 pnpm i 我有异常(exception)TypeError:无法读取未定义的属性“ui
假设我对 Javascript monorepo 有以下限制 -- module a package.json -- module b package.json package.json
我正在尝试使用集中式包管理器 (pnpm),而不是普通的 npm,因为我喜欢硬盘上有空间。我只是想启动该项目并遇到困难,网上几乎没有什么可以真正指导我使用这个包管理器启动一个项目。有谁有让它适用于 R
我最近开始使用pnpm作为我的 Node 模块的包管理器。此下载仅允许将包的一个版本在磁盘上保存一次。通过仅下载上述下载在全局范围内尚未包含的软件包,可以节省我的硬盘空间。我想知道是否有任何其他可行的
pnpm 使用 pnpm-lock.yaml 作为它的锁文件。我希望它可以编写 package-lock.json 而不是与 npm 的互操作性,但是这个 doesn't seem to be pos
我的笔记本电脑文件系统中分布着多个 Vue.js 项目。我已经搜索并找到了 pnpm 的 npm node_modules 文件夹大小问题的解决方案。使用 pnpm i 安装项目依赖项后,node_m
我们在项目开发的过程中会引用到各种不同的库,各种库又依赖了其他不同的库,这些依赖应该如何进行管理,今天这篇文章主要聊的就是这个事情。 npm2的依赖管理npm2 安装依赖的时候比较简单直接,直
pnpm包管理器提供了三个命令来替代 npm的 npx命令。这些是 pnpm create , pnpx和 pnpm dlx .这三个人似乎都在做同样的事情。但是它们之间有什么区别呢?哪一个应该优先用
据我了解 tutorial pnpm 创建符号链接(symbolic link) .registry.npmjs.org和其他条目指向 node_modules 下.我的项目在 typescript我
在我的 Nextjs 项目中,我想使用 Azure Pipelines 创建管道。但我的项目使用 pnpm 包管理器。我读过 pnpm 文档,只知道 Travis、Semaphore、AppVeyor
在我的 Nextjs 项目中,我想使用 Azure Pipelines 创建管道。但我的项目使用 pnpm 包管理器。我读过 pnpm 文档,只知道 Travis、Semaphore、AppVeyor
我们使用 npm install 构建了一个具有深层依赖关系树的项目,并且在 Microsoft Windows(次要目标)下存在很多问题。 我读过有关 pnpm 的内容,它似乎是我们的解决方案。 如
我正在寻找一种方法,让一个 node_modules 文件夹用于我的不同项目。我找到了 pnpm,安装了它,并使用以下命令创建了一个项目: ng new test-pnpm --skip-instal
我正在迁移到 pnpm 以管理来自 lerna 的 monorepo。但是,在 CI 中,有一个遗留命令使用 lerna 的 --since 选项。 lerna run lint --since or
我开始使用 pnpm对于我的 Electron 项目,因为它比 npm 快或 yarn .据我所见,它首先在 project/node_modules/.pnpm 中创建所有模块以及project/n
我是一名优秀的程序员,十分优秀!