On Fri, Oct 30, 2015 at 11:14 AM, Yichao Yu <yyc1...@gmail.com> wrote: > On Fri, Oct 30, 2015 at 11:05 AM, Tom Breloff <t...@breloff.com> 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"?
Or fallback to an older version of one of them that don't conflict. > > I'd be surprised if you don't get an error. > >> >> 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 >> >>