Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Elixir 我是否总是必须在更改配置后运行mixclean然后编译?_Elixir_Beam - Fatal编程技术网

Elixir 我是否总是必须在更改配置后运行mixclean然后编译?

Elixir 我是否总是必须在更改配置后运行mixclean然后编译?,elixir,beam,Elixir,Beam,我对Elixir比较陌生,我注意到一些奇怪的事情,我有一个配置,config.exs 哪条线像 config :my_app, myname: "name" 当我更改myname键的值时,我的应用程序的行为就像该值仍然是“name”一样,但如果我确实混合清理然后编译我的应用程序,它会对新值作出反应,我环顾四周,查看配置文件是如何处理的,但我似乎找不到任何解释为什么我必须对我的应用程序进行清理才能对更改作出反应的方法 编辑:此应用程序是伞形项目的一部分,我正在更改应用程序的配置,而不是伞形配置.

我对Elixir比较陌生,我注意到一些奇怪的事情,我有一个配置,config.exs

哪条线像

config :my_app, myname: "name"
当我更改myname键的值时,我的应用程序的行为就像该值仍然是“name”一样,但如果我确实混合清理然后编译我的应用程序,它会对新值作出反应,我环顾四周,查看配置文件是如何处理的,但我似乎找不到任何解释为什么我必须对我的应用程序进行清理才能对更改作出反应的方法


编辑:此应用程序是伞形项目的一部分,我正在更改应用程序的配置,而不是伞形配置.exs

,因此如果您只执行
mix compile
,则不会更改该值?我刚刚创建了一个伞形应用程序,如果手动重新启动
iex-S mix
,则会获得新的配置值。我不必手动执行
混合编译
。当配置更改没有反映在应用程序中时,您能告诉我您到底遵循了哪些步骤吗?您是从iex-S mix进行测试的吗?或者别的什么?如果我只是做一个混合编译,这个值不会改变,只有在我做了混合清理之后它才会工作。我是从iex-S混合测试。我在配置中添加了一个新的配置键和值。我做了iex-S混音,然后运行了一些代码,一切正常。然后我更改了值,再次执行iex-S混合,但它的行为就像值没有更改一样,这很奇怪。当我从root和
apps/a
重新启动
iex-S mix
时,这对我来说都是正确的。我在服用长生不老药1.4.2。我正在使用
应用程序检查该值。get_all_env(:a)
并且它总是在没有任何手动
混合编译的情况下更新。我刚刚尝试在没有手动编译的情况下再次更改该值,但它工作正常,我不确定出了什么问题