Thanks... after reading through that again, let me adjust my scenario:

Package A's require:

julia 0.4
C 0.1 0.2-

Package B's require:

julia 0.4
C 0.3

What version of C is installed?  Package A want any version 0.1.x, Package
B wants any version 0.3.x or greater.  Who "wins"?

On Fri, Oct 30, 2015 at 10:28 AM, Yichao Yu <yyc1...@gmail.com> wrote:

> 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