On Fri, Oct 30, 2015 at 10:18 AM, Tom Breloff <t...@breloff.com> wrote:
> I'm very confused about how Pkg resolution works in 0.4, and I couldn't find
> a definitive source of details.  If package A has the REQUIRE file:
>
> julia 0.4
> C 0.1
>

This means version 0.1 or higher for C

>
> and package B has the REQUIRE file:
>
> julia 0.4
> C 0.2
>

This means version 0.2 or higher for C

>
> which version of C is installed?  Does it change if you do a Pkg.add("C")?
> What determines which package "wins"?

The latest available that is compatible with everything else.

Note to specify the upper bound, use `C lower_version upper_version`

>
> Bonus question: can someone point me to documentation on exactly what the
> plus/minus mean?  What's the difference between `0.1`, `0.1-`, and `0.1+`?

- and + are for prerelease and build

```
julia> v"0.1-2+3".prerelease
(2,)

julia> v"0.1-2+3".build
(3,)
```

>
> Bonus question: how does the logic change with the new package manager? (if
> at all)

nothing

>
> Bonus question: is there an open issue/PR that discusses potential future
> changes to METADATA and package management?
>
> Thanks!

Ref 
http://julia.readthedocs.org/en/latest/manual/packages/#require-speaks-for-itself

Reply via email to