使用 NPM 工作区和 Lerna 在根目录安装 dev 依赖项
Posted
技术标签:
【中文标题】使用 NPM 工作区和 Lerna 在根目录安装 dev 依赖项【英文标题】:Install dev dependency at root with NPM workspaces and Lerna 【发布时间】:2021-02-17 03:04:27 【问题描述】:所以随着 NPM 7.0.0 的发布,我试图弄清楚如何使用 NPM 而不是 Yarn Workspaces 与 Lerna。
在 Yarn 中,可以使用 yarn add packageName --dev -W
将依赖项添加到根级别的 package.json。我如何使用 NPM 做到这一点?
【问题讨论】:
【参考方案1】:你可以这样做 -
npm install packageName --dev
【讨论】:
-g
标志进行全局安装,这不是 OP 想要的。正确的语法是 npm install packageName --sav-dev
或 npm i packageName -D
【参考方案2】:
npm 并没有真正反映 yarn 在工作空间方面的工作方式。
Yarn 期望你显式安装 deps,npm 没有。 (实际上在工作空间根目录以外的任何其他级别运行 npm install 可能并且会在使用 npms 工作空间实现时破坏事情)
所以要添加一个包(无论是否在根目录下),您应该在要添加依赖项的级别手动编辑 package.json,然后运行 npm install。
例子:
-
您想将concurrently 添加到您的根文件夹并使用它来运行多个脚本...同时
您不要将其添加到工作区中的工作区,因为它实际上不属于其中任何一个
在您的工作区根文件夹中手动编辑 package.json
添加
“开发依赖”:
“同时”:“^5.3.0”
,
在您的工作区根目录中运行 npm install
concurrent 现在在 node_modules 中,可以在你的工作空间根目录中执行
【讨论】:
以上是关于使用 NPM 工作区和 Lerna 在根目录安装 dev 依赖项的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Lerna + Yarn Workspaces repo 中安装 npm 包?