lerna add : 找不到可以添加 <package> 的包

Posted

技术标签:

【中文标题】lerna add : 找不到可以添加 <package> 的包【英文标题】:lerna add : No packages found where <package> can be added 【发布时间】:2020-11-08 20:10:43 【问题描述】:

已将 lerna 添加到我的项目中,我已通过成功运行此命令将包添加到我的服务器:

 lerna add  @types/express --dev

但是当我想添加另一个时:

lerna add graphql class-validator type-graphql

我收到了这个错误:

info cli using local version of lerna
lerna notice cli v3.22.1
lerna WARN No packages found where graphql can be added. 
    添加软件包时是否遗漏或错误? 我应该使用yarn add 而不是leran add 吗?看起来可行,但我怀疑包树形式是否正确

【问题讨论】:

【参考方案1】:

目前,lerna 不支持像这样将多个包添加到另一个包中:

❌ lerna add '@my-company/utils,types' --scope '@my-company/ui' 

// We have to do this instead
lerna add '@my-company/utils' --scope '@my-company/ui' 
lerna add '@my-company/types' --scope '@my-company/ui'

Lerna 确实支持将 1 个包添加到多个包中:

lerna add '@my-company/utils --scope '@my-company/ui,data'   

lerna 关于此问题的 github 讨论以获取更新 (link)

【讨论】:

【参考方案2】:

Lerna add 不支持多个包,尝试一次做一个。

lerna add graphql
lerna add class-validator
lerna add type-graphql

github 上有一个问题需要支持,希望有一天会得到解决

【讨论】:

很奇怪,我可以像提到的那样添加类型依赖项,但是在添加包时遇到同样的错误,我刚刚尝试了lerna add express-graphql 我不确定,我不使用类型脚本。我能看到的唯一区别是 @types 是一个 org 包,而其他包是单个包? 这是来自 Lerna 的一条超级混乱的消息。我以为我打错了--scope 的名字,但实际上我试图一次添加多个包,这就是问题【参考方案3】:

前言:lernacli 是出了名的不善于提供反馈。您会收到奇怪的错误和警告,这些错误和警告在上下文中似乎没有多大意义。

为什么会这样?

我确定了以下导致此错误消息的原因(有时):

    您已将包添加到给定包中。 这有点烦人,因为使用 yarnnpm 您可以(强制)重新安装软件包,而不是让它出错。 您尝试在一个命令中添加多个包(此处的其他答案和 cmets 中也提到了这一点)。 例如:npx lerna add --scope=... packageA packageB 注意:这是an open issue in the lerna repo。那里也讨论了解决方法。

【讨论】:

以上是关于lerna add : 找不到可以添加 <package> 的包的主要内容,如果未能解决你的问题,请参考以下文章

Lerna、yarn 和 Typescript:找不到模块或其对应的类型声明

带有 Yarn、TypeScript 和 React Native 的 Lerna:找不到模块“@project/common”或其对应的类型声明。ts(2307)

[已解决]Eclipse 插件Maven在使用 add dependency,找不到包,解决办法

Eclipse中Tomcat的add and remove找不到项目

Catkin 找不到 gtest

maven项目中找不到Maven Dependencies解决办法