On Tuesday, 21 June 2016 at 08:58:59 UTC, Dicebot wrote:
On 06/21/2016 10:24 AM, poliklosio wrote:
Wow, really?
Then what is the fetch command for? I started using dub a recently (2 months ago) and totally didn't notice that there is any other purpose of the fetch command. I even installed dcd, dfmt and dscanner through dub fetch, only to find out these were older versions which didn't work.
So what is the purpose of dub fetch?

Apart from `--cache=local` version, one of intended use case is to get various small utility tools needed only during development and not needing to be distributed to the end user, like dfmt. After `dub fetch dfmt` one can run `dub run dfmt <args>` to invoke such tool without knowing where dub cache is located.

But it is indeed supposed to be rare case and I do recommend to install such tools via system package manager instead whenever possible. So yes, you don't need `dub fetch` at all for most part.

Thanks for the replies. This really clears things up.

I'm the sort of person who learns by example, and what I was saying is that there aren't enough examples online of how dub is used in a practical setting.

I'm also the sort of person who doesn't trust toolchains that need to download things every time from the internet just to compile. Is this what dub is doing? In other words, when a project is built using dub, does it use the local cache from the last build by default, check for later versions, pull things from the internet, etc? Or do I need -cache=local for that?

Reply via email to