我在链接本地包时遇到奇怪的错误:
我有 2 个包裹(我们称它们为 A 和 B)。当我将其中之一链接到我的项目时,npm link A它会按预期工作。但后来我尝试使用链接另一个链接,它被链接了,但Anpm link B的链接消失了。我没有收到错误消息,仅收到以下错误消息:
5秒内添加了5个包,删除了5个包,更改了2个包,审计了121个包
3个套餐正在寻求资金运行
npm fund详情
以前这工作没有任何问题,但今天我更新了一些依赖项npm update。当我尝试重新链接我的包时,出现了问题。
也许值得一提的是,包 B 也链接包 A。
编辑:使用解决它npm link A B
我有以下基类和接口
open class Base {
open fun foo() { println("Base.foo") }
}
fun interface Delegate {
fun foo(): Unit
}
Run Code Online (Sandbox Code Playgroud)
现在我想重写使用委托的foo子类的方法,如下所示:ComposedBase
class Composed(delegate: Delegate) : Base(), Delegate by delegate
Run Code Online (Sandbox Code Playgroud)
这按我的意图工作。的实例Composed使用foo的方法delegate,而不是 from 的方法Base。但是,我收到 IntelliJ 的警告:
委托成员 'fun foo(): Unit' 隐藏超类型覆盖: public open fun foo(): 在 Base 中定义的 Unit。请明确指定正确的覆盖。
为什么我会收到此错误?隐式重写该方法有什么“坏处” foo?有什么我看不到的缺点吗?显式指定覆盖似乎有很多不必要的代码,特别是如果我对多个方法和多个子类执行此操作。