Book "Programming Phoenix 1.4" => failed to start child: RumblWeb.Presence

Hi,

I am reading “Programming Phoenix 1.4” and now on 265p.

To run sample codes of the book, I have input necessary commands into the terminal such as “mix deps.get”, “mix deps.update --all”, “cd assets && npm install force” commands in order. Most sample codes(such as umbrella projects) in the books show a similar error message as below. I could fix errors of some samples(such as “authentication”), but mostly not.

Error message

[warn] no configuration found for otp_app :rumbl_web and module RumblWeb.Endpoint
[info] Application rumbl_web exited: RumblWeb.Application.start(:normal, []) returned an error: shutdown: failed to start child: RumblWeb.Presence
    ** (EXIT) shutdown: failed to start child: Phoenix.Tracker
        ** (EXIT) shutdown: failed to start child: RumblWeb.Presence_shard0
            ** (EXIT) an exception was raised:
                ** (ArgumentError) argument error
                    (stdlib) :ets.lookup(RumblWeb.PubSub, :node_name)
                    (phoenix_pubsub) lib/phoenix/pubsub.ex:288: Phoenix.PubSub.call/3
                    (rumbl_web) lib/rumbl_web/channels/presence.ex:10: RumblWeb.Presence.init/1
                    (phoenix_pubsub) lib/phoenix/tracker/shard.ex:120: Phoenix.Tracker.Shard.init/1
                    (stdlib) gen_server.erl:374: :gen_server.init_it/2
                    (stdlib) gen_server.erl:342: :gen_server.init_it/6
                    (stdlib) proc_lib.erl:249: :proc_lib.init_p_do_apply/3

I am using macOS High Sierra, and I uploaded the error projects onto github.

https://github.com/team-jupeter/umbrella

The uploaded sample code has two small projects: “rumbl” and “rumbl_web”. The former works fine, and the latter shows the error message above.

Another sample code showing the same error message.

https://github.com/team-jupeter/rumbl_umbrella

I expect some help from the readers of the book. Always thank you.

PS> I guess the problem is in “config” as the message says.

[warn] no configuration found for otp_app :rumbl_web and module RumblWeb.Endpoint

But, I can’t figure it out to fix it.

PS 2>
After commenting out “RumblWeb.Presence” from the children list in “RumblWeb.Application.start()”, the sample projects works without “Presence” function. So, the issue is from “Presence” module. How to fix it work?