【发布时间】:2021-06-24 21:19:48
【问题描述】:
我有以下 mix.exs
defmodule App.MixProject do
use Mix.Project
@version "0.1.0"
def git_ref(), do: System.get_git_hash()
def project do
[
app: :app,
version: @version,
...
releases: [
app: fn ->
[version: @version <> "+" <> git_ref()]
end
]
]
end
end
我想在我的应用中输出 release 版本。我看过这个问题,Access project version within elixir application,但所有答案都返回“0.1.0”,即“project.version”
如果我使用_build/../app version 运行我的版本,它会返回正确的值,因此它能够获取 git 哈希并设置键值,但该值被写入version 命令的文件中。
我只是不知道如何“在运行时”获取它。这可能吗?我以为版本可能会覆盖以前的键值,但我猜它们是不同的?
【问题讨论】:
-
@version "0.1.0" <> System.get_git_hash()? -
不知道你在问什么
-
我建议一种解决方法。只需定义
@version,如我上面所示。
标签: elixir elixir-mix