E4067

E4067#

main 包中缺少 main 函数

在 MoonBit 中,软件包分为两种类型:主软件包和非主软件包。非主软件包通常用作库,为其他软件包提供功能。而主软件包则是程序的入口点。因此,主软件包应该包含一个 main 函数作为程序的入口点。

错误示例#

假设在包 main 中:

main/moon.pkg.json:

{ // Error: Missing main function in the main package.
  "is-main": true
}

main/main.mbt:

type A Int

pub fn A::to_int(self : A) -> Int {
  self._
}

建议#

你可以在 main 包中添加一个 main 函数:

main/main.mbt:

// ...
fn main {
  let a : A = 42
  println(a.to_int())
}

或者,您可以通过在包配置文件中将 "is-main" 设置为 false 来将包设置为非主包。

main/moon.pkg.json:

{
  "is-main": false
}