该存储库包含NIM编译器,NIM的STDLIB,工具和文档。有关NIM的更多信息,包括最新版本的下载和文档,请访问NIM的网站或出血边缘文档。
编译器目前正式支持以下平台和架构组合:
| 操作系统 | 支持体系结构 |
|---|---|
| Windows(Windows XP或更高) | x86和x86_64 |
| Linux(大多数分布) | X86,X86_64,PPC64和ARMV6L |
| Mac OS X(10.04或更高) | X86,X86_64,PPC64和Apple Silicon(ARM64) |
支持更多平台,但是,它们不进行定期测试,并且可能不像上述平台那样稳定。
如果您遵循以下步骤,则编译NIM编译器非常简单:
首先,需要旧版本的NIM编译器的C来源来引导最新版本,因为NIM编译器本身是用NIM编程语言编写的。这些C源可在nim-lang/csources_v2存储库中可用。
接下来,要从来源构建,您将需要:
gcc 6.x/后来或替代方案,例如clang , Visual C++或Intel C++ 。建议使用gcc 6.x或更高版本。git或wget要下载所需的源存储库。gcc时(以及其他可能的其他发行版)时build-essential包裹。Windows注意:不支持Cygwin和类似的POSIX运行时环境。
然后,如果您在 *NIX系统或Windows上,则以下步骤应使用gcc , git和koch Build build工具从源中编译NIM。
注意:以下命令适用于编译器的开发版本。对于大多数用户来说,安装最新的稳定版本就足够了。请查看网站上的安装说明,以进行:https://nim-lang.org/install.html。
对于包装维护人员:请参阅包装指南。
首先,从Github获取NIM:
git clone https://github.com/nim-lang/Nim.git
cd Nim
接下来,为您的平台运行适当的构建外壳脚本:
build_all.sh (Linux,Mac)build_all.bat (Windows)最后,一旦完成了构建步骤(在Windows,Mac或Linux上),则应将bin目录添加到路径中。
另请参见自举编译器。
另请参阅可再现的构建。
koch是用于构建NIM的各个部分并生成文档和网站等各个部分的构建工具。 koch工具也可以用于运行NIM测试套件。
假设您将NIM的bin目录添加到路径中,则可以使用./koch tests执行测试。测试需要一段时间才能运行,但是您可以通过指定类别(例如./koch tests cat async )来运行测试子集。
有关koch构建工具的更多信息,请参阅DOC/KOCH.MD文件中的文档。
nimble是NIM的软件包经理。要了解有关它的更多信息,请参见nim-lang/nimble存储库。
由于所有贡献的人,该项目的存在。
请参阅详细的贡献指南。我们欢迎对NIM的所有贡献,无论它们的大小有多。从标准库中包含的拼写修复到新模块,都受到欢迎和赞赏。在开始贡献之前,您应该熟悉以下存储库结构:
bin/ , build/ - 这些目录是空的,但在构建NIM时使用。compiler/ - 编译器源代码。还包括compiler/plugins中的插件。nimsuggest -Nimsuggest工具以前居住在nim-lang/nimsuggest存储库中。config/ - 编译器和文档生成器的配置。doc/ - 以重组文本格式的文档文件。lib/ - 标准库,包括:pure/ - 模块中的标准库中编写的纯nim。impure/ - 模块用纯净的nim编写,并用其他语言编写的依赖项。wrappers/ - 用其他语言编写的包装依赖项的模块。tests/ - 包含编译器和标准库的分类测试。tools/ - 包括niminst在内的工具(主要通过koch调用)。koch.nim用于引导NIM,生成C来源,构建网站并生成文档的工具。如果您不熟悉使用github和/或git提出拉的请求,请阅读本指南。
理想情况下,您应该在提交拉动请求之前确保所有测试通过。但是,如果您的时间很短,则只能通过运行相应的测试类别来运行针对更改的测试。 CI验证所有测试是否通过在允许接受拉动请求之前通过,因此仅运行特定的测试才能无害。集成测试应进行tests/untestable 。
如果您正在寻找贡献方法,请查看我们的问题跟踪器。总是有很多标记的问题Easy ;这些应该是最初对NIM贡献的好起点。
您还可以通过捐款来帮助NIM的发展。可以使用:
如果您有任何疑问,请随时在NIM论坛上或通过#NIM频道上的IRC提交问题。
感谢我们所有的支持者! [成为支持者]
通过成为赞助商来支持这个项目。您的徽标将在此处显示您网站的链接。 [成为赞助商]
您还可以在我们网站的赞助商页面上查看来自各种付款服务的所有赞助商/支持者的列表。
编译器和标准库是根据MIT许可证获得许可的,除了某些明确陈述的模块外。因此,您可以为使用NIM开发的程序使用任何兼容许可(基本上任何许可证)。您可以明确允许使用NIM开发商业应用程序。
请阅读copying.txt文件以获取更多详细信息。
版权所有©2006-2024 Andreas Rumpf,保留所有权利。