Hi Michał, I didn't know about this cache Hex does with the packages. Thank you for the explanation. I think this is enough to solve the potential problem that I imagined about storage and network resources.
Philip On Tuesday, June 11, 2019 at 4:19:22 PM UTC-3, Michał Muskała wrote: > > Hi Philip, > > I think what you're describing - keeping all the dependencies together - > might be problematic because of versions. Mix assumes only the version it > uses currently is maintained in the /deps directory - after all that's what > vending is for. But this means that if you have different projects using > the same deps directory they might conflict on versions. > > If the goal of this is to speed up builds, maybe what is already available > in mix/hex in the form of the package cache could solve your problems? In > particular hex uses the $HEX_HOME/packages path to cache packages it > downloads for future resolution. Maybe configuring the hex package cache to > be the shared directory between projects could be a solution? > > Michał. > On 11 Jun 2019, 21:07 +0200, Philip Sampaio <[email protected] > <javascript:>>, wrote: > > Hi guys, > > Thank you for your responses, and thank you, Valim, for explaining the > motivation behind `*MIX_BUILD_PATH*`. > > The idea is to keep a consistency of the possibilities to configure paths > for artifacts. > We have both ways to configure *build_path*: *mix.exs* and env var. I > thought it would be nice if we could have the same flexibility for > *deps_path*. > > In our case is to avoid having to change the *mix.exs* only because a > technicality of our Docker environment, but I imagine some other scenarios > like one that you have limited storage or network resources (this is mostly > not a problem today, I know) > and you want to keep every dependency of your libraries and apps in a > single directory. This is hard to archive if you don't have control of all > *mix.exs* in your system (a CI server of Elixir projects is a good > example of this). > > So my point is more about flexibility and consistency. > > > On Tuesday, June 11, 2019 at 12:43:58 PM UTC-3, Unified Front wrote: >> >> Hi all >> Apologies, I didn’t realise you could do so in that context, therefore >> jumped to a conclusion that it was a typo… >> R. >> Fridrik. >> >> On 11 Jun 2019, at 12:44, Allen Madsen <[email protected]> wrote: >> >> This is an appropriate place to discuss proposals to change the language, >> which the initial post did. My follow up question was questioning the merit >> of adding it to the language, when it seems trivial to achieve the desired >> result with no change. >> >> It was deps_path: because deps_path is an option passed in a keyword list >> in a mix.exs file. >> https://hexdocs.pm/mix/master/Mix.Project.html#module-configuration >> >> Allen Madsen >> http://www.allenmadsen.com >> >> >> On Tue, Jun 11, 2019 at 2:42 AM Unified Front <[email protected]> wrote: >> >>> Hi all >>> >>> Sorry for jumping in here, but shouldn’t that be something like this: >>> >>> deps_path = System.get_env("MIX_DEPS_PATH") || “some default path" >>> >>> (this level of questions should probably not be handled in here in >>> elixir-lang-core, but rather >>> https://elixirforum.com and/or https://elixir-lang.slack.com ) >>> >>> R. >>> Fridrik. >>> >>> >>> On 11 Jun 2019, at 00:09, Allen Madsen <[email protected]> wrote: >>> >>> Is there a reason that it's insufficient to do: >>> >>> deps_path: System.get_env("MIX_DEPS_PATH") || "deps" >>> >>> Allen Madsen >>> http://www.allenmadsen.com >>> >>> >>> On Mon, Jun 10, 2019 at 4:45 PM Philip Sampaio <[email protected]> >>> wrote: >>> >>>> Hi guys, >>>> >>>> We currently have some environment variables available to configure Mix >>>> <https://hexdocs.pm/mix/Mix.html#module-environment-variables> and one >>>> of them is *MIX_BUILD_PATH*. >>>> In our development environment we use Docker and Docker compose, and >>>> this env var helps a lot with caching and issues related to Docker for >>>> Mac. >>>> <https://stories.abletech.nz/optimising-docker-for-mac-and-elixir-130db4ecd7c3> >>>> We mount a volume outside the application directory to have a better >>>> performance. The idea is to have the same for our dependencies. >>>> >>>> I know that we can configure the *deps_path* through Mix project as an >>>> option, but It would be great if we could configure this using an >>>> environment variable just like the build path. >>>> We could call this new env var *MIX_DEPS_PATH.* >>>> What do you think? >>>> >>>> Cheers, >>>> Philip >>>> >>>> >>>> >>>> >>>> -- >>>> You received this message because you are subscribed to the Google >>>> Groups "elixir-lang-core" group. >>>> To unsubscribe from this group and stop receiving emails from it, send >>>> an email to [email protected]. >>>> To view this discussion on the web visit >>>> https://groups.google.com/d/msgid/elixir-lang-core/d6db2ca8-defb-4671-98f0-e77cc3a5d0f0%40googlegroups.com >>>> >>>> <https://groups.google.com/d/msgid/elixir-lang-core/d6db2ca8-defb-4671-98f0-e77cc3a5d0f0%40googlegroups.com?utm_medium=email&utm_source=footer> >>>> . >>>> For more options, visit https://groups.google.com/d/optout. >>>> >>> >>> -- >>> You received this message because you are subscribed to the Google >>> Groups "elixir-lang-core" group. >>> To unsubscribe from this group and stop receiving emails from it, send >>> an email to [email protected]. >>> To view this discussion on the web visit >>> https://groups.google.com/d/msgid/elixir-lang-core/CAK-y3Cv8y0HxnRxJOcZegWDqPnB5ofWpDvBtUiUcoMNJ3hm22g%40mail.gmail.com >>> >>> <https://groups.google.com/d/msgid/elixir-lang-core/CAK-y3Cv8y0HxnRxJOcZegWDqPnB5ofWpDvBtUiUcoMNJ3hm22g%40mail.gmail.com?utm_medium=email&utm_source=footer> >>> . >>> For more options, visit https://groups.google.com/d/optout. >>> >>> >>> >>> -- >>> You received this message because you are subscribed to the Google >>> Groups "elixir-lang-core" group. >>> To unsubscribe from this group and stop receiving emails from it, send >>> an email to [email protected]. >>> To view this discussion on the web visit >>> https://groups.google.com/d/msgid/elixir-lang-core/FD696ED4-F126-43EE-808A-21516804355D%40gmail.com >>> >>> <https://groups.google.com/d/msgid/elixir-lang-core/FD696ED4-F126-43EE-808A-21516804355D%40gmail.com?utm_medium=email&utm_source=footer> >>> . >>> For more options, visit https://groups.google.com/d/optout. >>> >> >> -- >> You received this message because you are subscribed to the Google Groups >> "elixir-lang-core" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected]. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/elixir-lang-core/CAK-y3CsNhNh5r1em%2BDDfNM1wixisHqEe1Yj9Jkb8vzLZcT_Mjg%40mail.gmail.com >> >> <https://groups.google.com/d/msgid/elixir-lang-core/CAK-y3CsNhNh5r1em%2BDDfNM1wixisHqEe1Yj9Jkb8vzLZcT_Mjg%40mail.gmail.com?utm_medium=email&utm_source=footer> >> . >> For more options, visit https://groups.google.com/d/optout. >> >> >> -- > You received this message because you are subscribed to the Google Groups > "elixir-lang-core" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected] <javascript:>. > To view this discussion on the web visit > https://groups.google.com/d/msgid/elixir-lang-core/a31b301b-af89-4272-ac05-551c2895dbec%40googlegroups.com > > <https://groups.google.com/d/msgid/elixir-lang-core/a31b301b-af89-4272-ac05-551c2895dbec%40googlegroups.com?utm_medium=email&utm_source=footer> > . > For more options, visit https://groups.google.com/d/optout. > > -- You received this message because you are subscribed to the Google Groups "elixir-lang-core" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/elixir-lang-core/09ee96c5-e14e-473e-8ee0-50b711593381%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
