从嵌套的 Lerna 包中删除依赖项
Posted
技术标签:
【中文标题】从嵌套的 Lerna 包中删除依赖项【英文标题】:Remove dependency from nested Lerna Package 【发布时间】:2019-02-02 14:23:24 【问题描述】:我有一个 lerna 设置,其中包含位于 packages/
下的 n
包。让我们举一个例子,其中一个包使用 express 而其他包不使用。
如何以 lerna 感知的方式从这个包中删除 express,以便更新根 package.json?
我可以使用lerna add --scope
添加软件包,但似乎没有相应的删除功能。
【问题讨论】:
【参考方案1】:只需从你的 package.json 中删除包
然后运行
$lerna bootstrap
【讨论】:
不幸的是,这不会删除package-lock.json
中的条目【参考方案2】:
-
从
package.json
中删除包
删除 node_modules 文件夹:rm -rf packages/package_name/node_modules
运行lerna bootstrap
如果没有第 2 步,包仍然存在于 package-lock.json
NPM 锁定文件中。
【讨论】:
【参考方案3】:如果您想确保lerna bootstrap
仅 更新@org-name/package-name/
中的特定 package-lock.json
而不是其他package-lock.json
文件,请执行以下操作:
从@org-name/package-name/package.json
手动删除依赖项
运行:
lerna bootstrap --scope @org-name/package-name --no-ci --force-local
【讨论】:
以上是关于从嵌套的 Lerna 包中删除依赖项的主要内容,如果未能解决你的问题,请参考以下文章