1
看來我們只能通過輸入iex --erl "--mnesia dir '~/doc/'" --name mynode
才能啓動Mnesia。我們有沒有內置機制在Elixir中發佈Mnesia?
我們可以在不傳遞參數的情況下啓動它嗎erl?
看來我們只能通過輸入iex --erl "--mnesia dir '~/doc/'" --name mynode
才能啓動Mnesia。我們有沒有內置機制在Elixir中發佈Mnesia?
我們可以在不傳遞參數的情況下啓動它嗎erl?
您可以在代碼中動態設置它。上面所有的--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
)。