2

似乎我们只能通过键入来启动 Mnesia iex --erl "--mnesia dir '~/doc/'" --name mynode

我们可以在不向erl传递参数的情况下启动它吗?

4

1 回答 1

6

您可以在代码中动态设置它。上面的所有--erl指令都是在启动之前配置 mnesia 应用程序。您可以通过以下方式实现:

# First load mnesia
iex(1)> :application.load(:mnesia)
:ok
# Now configure the desired directory
iex(2)> :application.set_env(:mnesia, :dir, 'sample')
:ok
# Start mnesia as usual
iex(3)> :mnesia.start
:ok
# See if the desired info is correct
iex(4)> :mnesia.info
:ok

请注意,它仅在您手动启动应用程序时才有效。如果您要自动启动它并希望通过命令行进行配置,那么您当前的代码片段是最好的选择(或使用ELIXIR_ERL_OPTS)。

于 2014-01-16T08:00:00.880 回答