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】:
前言:lerna
cli
是出了名的不善于提供反馈。您会收到奇怪的错误和警告,这些错误和警告在上下文中似乎没有多大意义。
为什么会这样?
我确定了以下导致此错误消息的原因(有时):
-
您已将包添加到给定包中。
这有点烦人,因为使用
yarn
和 npm
您可以(强制)重新安装软件包,而不是让它出错。
您尝试在一个命令中添加多个包(此处的其他答案和 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,找不到包,解决办法