Create a Mix archive with library dependencies

Archives do not include dependencies because archives are loaded into the same VM as Mix and the users application when they run their application through Mix. If archives were to include dependencies they would conflict with the user’s dependencies since you can only have one instance of an application loaded. So for example if the user depended on poison your archive would break them since you load poison yourself.

Archives should only be used when you need to interact with or extend Mix. If you just want to start an HTTP server it doesn’t sound like it would interact Mix so it should probably be an archive instead.

2 Likes