Running CLI app from escript.build throws error, unknown application :castore

I want to build a simple CLI app with Elixir, I’m using Mint and castore dependencies. Apparently, executing the app throws an error:

** (ArgumentError) unknown application: :castore
    (elixir 1.11.3) lib/application.ex:896: Application.app_dir/1
    (elixir 1.11.3) lib/application.ex:923: Application.app_dir/2
    (mint 1.2.1) lib/mint/core/transport/ssl.ex:545: Mint.Core.Transport.SSL.add_cacerts/1
    (mint 1.2.1) lib/mint/core/transport/ssl.ex:440: Mint.Core.Transport.SSL.add_verify_opts/2
    (mint 1.2.1) lib/mint/core/transport/ssl.ex:328: Mint.Core.Transport.SSL.connect/4
    (mint 1.2.1) lib/mint/negotiate.ex:67: Mint.Negotiate.connect_negotiate/4

Any solutions to fix this?

This is solved by using HTTPotion dependency. I think Mint is a little bit too complicated for simple HTTP client. Not sure why some dependencies don’t work with escript though.

escripts cannot access application priv/. See this castore issue here: not working from within escript · Issue #35 · elixir-mint/castore · GitHub

1 Like