关注包含源文件的this question。我包含一个Chapel模块,其中包含一个名为classes.chpl
的文件,但我当前的项目也有一个classes.chpl
。什么是正确的消歧模式?当我做的时候
chpl -M/path/src
它注意到了冲突,然后选择当前目录中的classes.chpl
。我应该像this page那样编译导出模块,还是有其他模式。
== UPDATE ==
目录结构类似于
projA/alpha.chpl
/classes.chpl
projB/beta.chpl
/classes.chpl
每个项目取决于相应classes.chpl
文件中的类。正在尝试编译projA
我目前正在使用
chpl alpha.chpl -M../projB/
但这会导致冲突,因为它会尝试projA/classes.cphl
用于beta.chpl
和alpha.chpl
中的类。
答案 0 :(得分:3)
如module search paths技术说明中所述,Chapel编译器按以下顺序搜索用户模块:
.chpl
个文件.chpl
个文件.chpl
选项或-M
环境变量指定的路径中的CHPL_MODULE_PATH
个文件由于编译器使用规则2从项目目录中找到classes.chpl
,并且只查找带有规则3的/path/src/classes.chpl
,因此它会选择项目目录中的/path/src/classes.chpl
。要让它选择chpl mainModule.chpl /path/src/classes.chpl
,您可以在命令行中指定它,以便在规则1中找到它。
Debugging with inspector protocol because Node.js v8.9.1 was detected.
node --inspect-brk=3193 app.js
Debugger listening on ws://127.0.0.1:3193/c89636e0-f77a-40ab-9046-da1ddaaaf31c