当我在项目中运行 mix 命令时,Elixir 似乎每次都会重新编译所有依赖项,使开发过程比预期慢。但是,我注意到,当我在 Docker 容器中开发相同的项目时,依赖项仅编译一次,并且后续的 mix 命令明显更快。
我已经尝试通过将 MIX_ENV 环境变量设置为“dev”并运行 mixcompile --persistent 来启用持久构建,但这似乎并不能解决问题。
这是我到目前为止所做的:
Set MIX_ENV to "dev" both locally and within the Docker container.
Checked my Elixir version (I'm using the latest stable version).
Cleaned the project using mix clean.
Verified the MIX_ENV variable to ensure it is correctly set.
不幸的是,这些行动都没有带来任何改变,我仍然面临着同样的问题。令人费解的是,我的本地环境和 Docker 容器之间的行为不同。
还有其他人遇到过 Elixir 依赖项每次重新编译的类似问题吗?我非常感谢任何关于如何解决这种情况的见解、建议或技巧。也许我遗漏了一些重要的东西或者有一个配置需要调整?
如果您以前遇到过此问题或有任何解决此问题的想法,我将非常感谢您的帮助!
已解决:我通过在开始处理项目时运行 mix clean 然后 mix setup 解决了这个问题。我不知道它发生的原因或如何解决,但它对我有用