mongooseim.cfg at 2 different places有什么区别

What is the difference between mongooseim.cfg at 2 different places

我正在使用 Mongooseim 3.2.0,从源代码编译后,我可以在:

看到 mongooseim.cfg
1. /MongooseIM/_build/prod/rel/mongooseim/etc/mongooseim.cfg

我还可以在 docs here 中看到根级别还有另一个 mongooseim.cfg -

2. /MoongoosIM/rel/files/mongooseim.cfg

两者有什么区别?我的猜测是路径1文件在编译项目后被复制到路径[2]。

路径 1 (/MongooseIM/_build/prod/rel/mongooseim/etc/mongooseim.cfg) 是 MongooseIM 构建后的实际配置文件。您可以通过路径中的 MongooseIM/_build 判断 - _build 目录不存在于存储库的新克隆中。为了给你更多的上下文,/MongooseIM/_build/prod/rel/mongooseima self-contained Erlang release of MongooseIM。如果您想修改此特定 MongooseIM 构建的配置,请更改此文件 - 重建后更改将丢失。

路径 2 (/MoongoosIM/rel/files/mongooseim.cfg) 被克隆为存储库的一部分 - 它是一个配置模板。具体值在 rel/*vars.config 文件中定义,并在构建时根据正在使用的 Rebar3 配置文件替换模板文件中的变量(有关配置文件,请参阅 rebar.config)。如果您希望在连续重建项目后保留更改,请更改此文件。

长话短说,当您 运行 make rel 文件 /MoongoosIM/rel/files/mongooseim.cfg/MoongoosIM/rel/vars.config 用于创建 /MongooseIM/_build/prod/rel/mongooseim/etc/mongooseim.cfg.