首页 > 解决方案 > 使用 NPM 工作区和 Lerna 在根目录安装 dev 依赖项

问题描述

所以随着 NPM 7.0.0 的发布,我试图弄清楚如何在 Lerna 中使用 NPM 而不是 Yarn Workspaces。

在 Yarn 中,可以yarn add packageName --dev -W将依赖项添加到根级别的 package.json。我怎么能用 NPM 做到这一点?

标签: node.jsnpmyarnpkgpackage.jsonlerna

解决方案


npm 并没有真正反映纱线在工作空间方面的工作方式。

Yarn 希望你显式安装 deps,npm 没有。(实际上在工作空间根目录之外的任何其他级别运行 npm install 可能并且在使用 npms 工作空间实现时会破坏事情)

因此,要添加一个包(无论是否在根目录下),您应该在要添加依赖项的级别手动编辑 package.json,然后运行 ​​npm install。

例子:

  1. 您想同时添加您的根文件夹并使用它来运行多个脚本......同时
  2. 您不会将其添加到工作空间内的工作空间,因为它实际上不属于其中任何一个
  3. 在工作区根文件夹中手动编辑 package.json
  4. 添加 "devDependencies": { "concurrently": "^5.3.0" },
  5. 在您的工作区根目录中运行 npm install
  6. concurrently 现在位于 node_modules 中,可以在您的工作区根目录中执行

推荐阅读