Grocery

Grocery

One or more direct or transitive dependencies are missing from :applications or :included_applications, they will not be included in the release:

I’m on my day 3 trying to provision server on DO and I got to the point where I can build and deploy via edeliver/distillery. However I’m running into issue where app crashes with an error like this:

(UndefinedFunctionError) function Guardian.Plug.VerifySession.call/2 is undefined

So I figured guardian app doesn’t get included in the release somehow?

EDIT: I just realised that Guardian is not in the list of the applications anyways. So I have no idea what’s going on. Why Guardian is not present in prod environment?

When I build locally I see this (I can’t see any warnings when doing mix edeliver build release):

==> One or more direct or transitive dependencies are missing from
    :applications or :included_applications, they will not be included
    in the release:

    :arc
    :breadcrumble
    :earmark
    :elixir_make
    :guardian
    :html_sanitize_ex
    :kerosene
    :mochiweb
    :phoenix_haml

    This can cause your application to fail at runtime. If you are sure
    that this is not an issue, you may ignore this warning.

My mix.exs has this defined (and everything works in dev just fine):

def application do
    [mod: {LoadedBike, []},
     applications: [:phoenix, :phoenix_pubsub, :phoenix_html, :cowboy, :logger, :gettext,
                    :phoenix_ecto, :postgrex, :comeonin, :arc_ecto, :edeliver]]
  end

rel/config.exs has this:

release :loaded_bike do
  set version: current_version(:loaded_bike)
end

I poked around and found that you can add set :applications [...] in there. But why? Shouldn’t it be implicit? Or do I really have to copy-paste things? What am I missing?

I’m really close. It’s just this problem and then I’ll have to deal with assets. If somebody can share /.deliver/config for Phoenix 1.3 I’d appreciate it. I think biggest difference is that there’s /assets folder now.

Most Liked

NobbZ

NobbZ

You posted a warning which tells you missing applications. Have you tried adding them?

DeLongShot

DeLongShot

FYI, for anyone who finds this later, if you are using Elixir >= 1.4, you do not need to list your dependencies under the applications key anymore in mix.exs.

Leaving the applications key blank, mix will automatically infer your applications from your dependencies. See more details in 1.4 release notes: https://elixir-lang.org/blog/2017/01/05/elixir-v1-4-0-released

mindreader

mindreader

For anyone who finds this even later, some dependencies just are not caught during release. I’m not sure what causes it but I’m guessing the way they are used in our codebase just causes mix to not detect that they are used, so in release mode it strips them out.

You never have to specify applications, but in cases where the lib is definitely missing you can put it in your extra_applications key in mix.exs.

def application do [extra_applications: [:logger, :sweet_xml]]

Where Next?

Popular in Questions Top

senggen
Erlang/OTP 25 [erts-13.2.2] [source] [64-bit] [smp:8:8] [ds:8:8:10] [async-threads:1] 15:22:35.803 [error] gen_event {lager_file_backend...
New
pmjoe
I have a relationship of love and hate with Elixir. Lots of things are just absolutely right, but there are some things that are kind of ...
New
pgiesin
This should be a simple problem but I just can’t seem to figure it out. I have a standalone Elixir app that won’t find the database. Dep...
New
Kagamiiiii
Student & New to elixir. Nice language. I want to convert a english character, e.g. “a”, which is stored in a variable, to it’s asci...
New
stefanchrobot
What’s the safe way to decode a JSON string into a struct? I want to avoid calling String.to_atom. Jason.decode can give me a map with st...
New
minhajuddin
I have seen a lot of code which picks the first element from a list using Enum.at(0) instead of List.first. Is there a reason why people ...
New
rms.mrcs
Hi, I need to transform a list of numbers into a map where the keys are the indexes and the values are the original values of the list....
New
kostonstyle
Hi all I want to have a unix time, from the current time plus 1 hour. DateTime.now + 1 hour How to get it in elixir? Thanks
New
Exadra37
Sometimes I want to check if the input into a function is not a blank string. My first approach: defmodule Example do def do_stuff(s...
New
beno
I will often find my self writing things similar to: case some_value do nil -> something() "" -> something() _ -> someth...
New

Other popular topics Top

shahryarjb
Hello, I get Persian date from my client and convert it to normal calendar like this: def jalali_string_to_miladi_english_number(persi...
New
senggen
Erlang/OTP 25 [erts-13.2.2] [source] [64-bit] [smp:8:8] [ds:8:8:10] [async-threads:1] 15:22:35.803 [error] gen_event {lager_file_backend...
New
dotdotdotPaul
Okay, I'm having a heck of a time trying to figure out how to best handle the validation of belongs_to associations in Ecto. I'm sure I'...
New
lessless
I believe there are people here who are dealing with CSV files import on the daily basis, and since Excel is a really popular tool there ...
New
albydarned
Hello all! I am typing this post from my new MacBook Pro with the M1 chip. I’m loving it so far, and will probably use it as my daily dr...
New
SoCreat
i’m a new one to elixir which editor can i use vs code? or atom? Thanks! :smiley:
New
baxterw3b
Hi guys, i’m new in the Elixir world, and i have to say, that i love it! i’m having some problem to understand anonymous functions with ...
New
Patoshizzle
After calling mix ecto.create I get this error: 17:00:32.162 [error] GenServer #PID<0.412.0> terminating ** (Postgrex.Error) FATAL...
New
9mm
I am constructing a JSON object (map) and I need to conditionally set a field. I’m trying to write proper elixir-way code… and I’m at a l...
New
skosch
To my knowledge, put_in, Map.update etc. all have the one limitation of not automatically creating intermediate keys when needed (for exa...
New

We're in Beta

About us Mission Statement