如何构建Nim库包

6
我按照文档创建了一个灵活的包。当我尝试使用nimble build构建它时,出现以下错误。

错误:没有要构建的内容。您是否在.nimble文件中使用bin键指定要构建的模块?

我可以这样做,并且确实可以解决错误,但根据文档,在.nimble文件中添加bin键会将我的包转换为二进制包。
我尝试过其他方法:
  • 使用 nimble install: 这似乎并不验证我的代码是否会编译,并且会愉快地安装任何东西到本地包目录(例如,我向我的.nim文件添加了一个C#类,它成功安装了)。
  • 使用 nimble c: 这个方法可以工作,但我必须传递要编译的nim文件的路径,而.nimble文件中的binDir条目将被忽略,导致输出被放置在正在构建的文件相同的目录中。这使得开发周期变得复杂,因为我必须手动清理编译器。
  • 直接使用编译器。这与前一选项基本相同,存在相同的缺陷。

我猜我也可以创建一个单独的.nim文件,并在安装库后导入我的库,但这对于只想验证早期开发阶段的软件包是否实际编译而言是一个很大的开销。

我只想验证我的库包中的源代码在语法上是正确的,并且可以编译。这应该如何为包完成?

1个回答

3

从您提供的nimble软件包管理器文档链接中,我感觉这就是您要找的内容:

https://github.com/nim-lang/nimble#tests

但是,我从未使用过test命令,所以不确定。我仍然手动测试,大约4年前阅读了nimble文档,现在无法真正记住。目前正在进行许多与软件包管理器相关的工作,我听说有一个名为nimph的新的替代软件包管理器,并且从论坛主题中读取到一些关于nimble即将改变和改进的信息。也许您应该考虑订阅Nim论坛,那里是聪明的Nim开发人员的聚集地,至少有一部分。


1
现在你指出来后,这显然很明显,但我完全忽略了灵活的测试,因为我的软件包还没有任何测试。显然,测试取决于代码,因此它们将在运行测试套件时构建。谢谢。 - Benjamin Gale

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接