Chapter 5. Limitations
No software is perfect.
所有软件都不完美的。
It’s very important, when evaluating and when using a tool, to understand its limitations, so as to avoid making mistakes and wasting valuable time.
在评估和使用工具时,了解其局限性非常重要,这样可以避免犯错和浪费宝贵的时间。
This chapter lists all known limitations of Erlang.mk.
本章列出了Erlang.mk的所有已知限制。
5.1. Erlang must be available
5.1. Erlang必须可用
Currently Erlang.mk requires you to install Erlang beforehand. Installing Erlang is not always easy, particularly if you need a specific version of Erlang for a specific project.
目前,Erlang.mk需要你事先安装Erlang。安装Erlang并不总是很容易,特别是如果你需要特定版本的Erlang来执行特定的项目。
In addition, the Erlang being used must be in your $PATH before you use Erlang.mk.
另外,在使用Erlang.mk之前,被使用的Erlang的路径必须在环境变量的$PATH中。
In the future we envision, Erlang.mk could manage the Erlang version you need to use a project. Erlang.mk already does this for running tests when using make ci, so doing this during development is just a step away.
我们设想,在将来,Erlang.mk可以管理你的项目需要使用的Erlang版本。在使用make ci时,Erlang.mk已经为运行测试做了这个工作。所以在开发过程中,管理你的项目需要使用的Erlang版本只是一步之遥。
5.2. Spaces in path
5.2. 路径中存在空格
Erlang.mk will currently not work properly if the path to the project contains spaces. To check if that is the case, use the command pwd.
目前,如果项目路径中包含空格,Erlang.mk将无法正常工作。(当Erlang.mk无法工作时)可以使用 pwd 命令来检查是否属于这种情况。
This issue is due to how Makefiles work. There might be ways to solve it, we have not given up on it, but it’s very low priority considering how simple the workaround is.
这个问题是由于Makefiles 的工作方式引起的。可能有办法解决这个问题,我们还没有放弃,但是考虑到解决方法的简单性(保证项目路径没有空格),它的优先级很低。
5.3. Dependency tracking and modification times
5.3. 依赖性跟踪及修改时间
Erlang source files that depend on other files will have their modification time updated when they need to be recompiled due to a dependency having changed. This could cause some editors to think the file changed when it didn’t.
依赖于其他文件的Erlang源文件,在由于依赖发生改变而需要重新编译时,会更新其修改时间。这可能会导致一些编辑器在该文件没有改变时认为它改变了。
Erlang.mk must use this method in order to be able to compile files in one erlc invocation. The benefits greatly outweigh the issue in this case and so there are currently no plans to fix this behavior.
Erlang.mk必须使用这个方法,以便能够在erlc调用中编译文件。在这种情况下,这么做的好处大大超过坏处,所以目前没有计划来解决这种行为。