I’m getting the following error while trying to start my application, and i’m not understading why this is happening
ERROR:
> [info] Application stock exited: Stock.start(:normal, []) returned an error: shutdown: failed to start child: Stock.Endpoint
> ** (EXIT) shutdown: failed to start child: Phoenix.Endpoint.Server
> ** (EXIT) an exception was raised:
> ** (UndefinedFunctionError) function Stock.UserSocket.__transports__/0 is undefined (module Stock.UserSocket is not available)
> Stock.UserSocket.__transports__()
> (phoenix) lib/phoenix/endpoint/cowboy_handler.ex:68: anonymous fn/3 in Phoenix.Endpoint.CowboyHandler.child_spec/3
> (elixir) lib/enum.ex:1948: Enum."-reduce/3-lists^foldl/2-0-"/3
> (phoenix) lib/phoenix/endpoint/cowboy_handler.ex:67: Phoenix.Endpoint.CowboyHandler.child_spec/3
> (phoenix) lib/phoenix/endpoint/server.ex:17: anonymous fn/5 in Phoenix.Endpoint.Server.init/1
> (elixir) lib/enum.ex:1948: Enum."-reduce/3-lists^foldl/2-0-"/3
> (phoenix) lib/phoenix/endpoint/server.ex:15: Phoenix.Endpoint.Server.init/1
> (stdlib) supervisor.erl:294: :supervisor.init/1
> (stdlib) gen_server.erl:365: :gen_server.init_it/2
> (stdlib) gen_server.erl:333: :gen_server.init_it/6
> (stdlib) proc_lib.erl:247: :proc_lib.init_p_do_apply/3
> ** (Mix) Could not start application stock: Stock.start(:normal, []) returned an error: shutdown: failed to start child: Stock.Endpoint
> ** (EXIT) shutdown: failed to start child: Phoenix.Endpoint.Server
> ** (EXIT) an exception was raised:
> ** (UndefinedFunctionError) function Stock.UserSocket.__transports__/0 is undefined (module Stock.UserSocket is not available)
> Stock.UserSocket.__transports__()
> (phoenix) lib/phoenix/endpoint/cowboy_handler.ex:68: anonymous fn/3 in Phoenix.Endpoint.CowboyHandler.child_spec/3
> (elixir) lib/enum.ex:1948: Enum."-reduce/3-lists^foldl/2-0-"/3
> (phoenix) lib/phoenix/endpoint/cowboy_handler.ex:67: Phoenix.Endpoint.CowboyHandler.child_spec/3
> (phoenix) lib/phoenix/endpoint/server.ex:17: anonymous fn/5 in Phoenix.Endpoint.Server.init/1
> (elixir) lib/enum.ex:1948: Enum."-reduce/3-lists^foldl/2-0-"/3
> (phoenix) lib/phoenix/endpoint/server.ex:15: Phoenix.Endpoint.Server.init/1
> (stdlib) supervisor.erl:294: :supervisor.init/1
> (stdlib) gen_server.erl:365: :gen_server.init_it/2
> (stdlib) gen_server.erl:333: :gen_server.init_it/6
> (stdlib) proc_lib.erl:247: :proc_lib.init_p_do_apply/3
My mix.exs file
defmodule Stock.Mixfile do
use Mix.Project
def project do
[app: :stock,
version: "0.0.1",
elixir: "~> 1.2",
elixirc_paths: elixirc_paths(Mix.env),
compilers: [:phoenix, :gettext] ++ Mix.compilers,
build_embedded: Mix.env == :prod,
start_permanent: Mix.env == :prod,
aliases: aliases(),
deps: deps()]
end
# Configuration for the OTP application.
#
# Type `mix help compile.app` for more information.
def application do
[mod: {Stock, []},
applications: [:phoenix, :phoenix_pubsub, :phoenix_html, :cowboy, :logger, :gettext,
:phoenix_ecto, :postgrex, :ueberauth, :ueberauth_github]]
end
# Specifies which paths to compile per environment.
defp elixirc_paths(:test), do: ["lib", "web", "test/support"]
defp elixirc_paths(_), do: ["lib", "web"]
# Specifies your project dependencies.
#
# Type `mix help deps` for examples and options.
defp deps do
[{:phoenix, "~> 1.2.5"},
{:phoenix_pubsub, "~> 1.0"},
{:phoenix_ecto, "~> 3.4.0"},
{:postgrex, ">= 0.0.0"},
{:phoenix_html, "~> 2.6"},
{:phoenix_live_reload, "~> 1.0", only: :dev},
{:gettext, "~> 0.11"},
{:cowboy, "~> 1.0"},
{:ueberauth, "~> 0.3"},
{:ueberauth_github, "~> 0.4"}]
end
# Aliases are shortcuts or tasks specific to the current project.
# For example, to create, migrate and run the seeds file at once:
#
# $ mix ecto.setup
#
# See the documentation for `Mix` for more info on aliases.
defp aliases do
["ecto.setup": ["ecto.create", "ecto.migrate", "run priv/repo/seeds.exs"],
"ecto.reset": ["ecto.drop", "ecto.setup"]]
end
end
Blockquote