On Fri, Oct 30, 2015 at 11:05 AM, Tom Breloff <[email protected]> wrote: > 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"?
I'd be surprised if you don't get an error. > > On Fri, Oct 30, 2015 at 10:28 AM, Yichao Yu <[email protected]> wrote: >> >> On Fri, Oct 30, 2015 at 10:18 AM, Tom Breloff <[email protected]> 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 > >
