【发布时间】:2022-07-16 04:31:31
【问题描述】:
npm-shrinkwrap 确保已安装的软件包也具有发布到注册表时使用的相同版本的依赖项(这些版本在 npm-shrinkwrap 中说明,然后在安装时使用)。
我目前正在使用 yarn(以及用于发布的 lerna)并在使用工作区进行 monorepo 项目。现在我想让 monorepo 中的每个包都具有npm-shrinkwrap 提供的相同保证。
npm-shrinkwrap 的一个缺点是它不支持工作区。因此我不能使用npm-shrinkwrap,因为它只在根目录下创建并且不会影响monorepo 中各个包的安装方式。
由于我使用的是yarn,我想知道在纱线中是否有npm-shrinkwrap 的替代品?
或者更好的问题是,使用 yarn/lerna,我如何锁定版本依赖项以进行发布,这样当我在 mono-repo 中的包被下载时,它们会与依赖项的确切版本(和传递依赖项)一起下载) 是在发布时指定的吗?
【问题讨论】:
标签: node.js npm package.json yarn-workspaces shrinkwrap