使用该import
语句时,Nim 如何/在哪里执行模块搜索?
我知道可以使用文件路径,但是如果我不想使用文件路径,我应该将我本地定义的模块放在我的机器上的什么位置?
我还没有使用过 Nimble,我认为这是一种方式,但我更感兴趣的是如果模块仅在本地定义,它将如何完成。
Nim 在以下位置搜索模块:
import dir.modname
或者import dir/modname
如果它不在同一目录中)。import dir.modname
或者import dir/modname
如果它不在同一目录中)。--path
或-p
.~/.nimble/pkgs
.该命令nim dump
将显示所有正在使用的模块搜索路径(Nimble 包除外)。
您可以执行以下操作来使用您自己的模块:
--path/-p
使用命令行选项将包含它们的目录传递给编译器。libname.nimble
(替换libname
为实际名称)文件并使用nimble install
. 然后,您可以*.nim
直接从任何其他项目导入该库中的文件。用于nimble uninstall libname
再次卸载库。基本libname.nimble
文件具有以下内容。
[Package]
name = "libname"
author = "Your Name"
version = "0.1"
description = "Example library."
license = "none"
你基本上有两个选择:
您可以在编译命令中传递搜索路径:nim c -p:~/myModulePath
.
您可以将搜索路径添加到您config/nim.cfg
的 by path="$home/myModulePath"
。该文件还准确地告诉您 Nim 默认如何/在何处查找导入。
该nim dump
命令将向您显示路径中的内容。查看高级编译器选项的文档。