How tu use a specific version of my own package

Hello everyone,

This is a very basic question, but I could not find the answer anywhere.

Lets say I have my own, not registered, package Foo.jl for which the stable version has the tag 0.3.
It is still in development so I try new things out on a separate branch.

Package Bar.jl (not registered either) uses Foo.jl, but I want Bar.jl to only use version 0.3 of Foo.jl.
I wrote in REQUIRE file of the Bar package the following line:

Foo 0.3

But when I call Bar, it does not use the correct version of Foo.
How can I solve this?
Is the REQUIRE file only used for registered packages?
Many thanks in advance,

As far as I know on the old version of the package manager this is not possible without renaming Foo. The problem is that it’s always looking in your Foo directory, which presumably you have pulled to the latest commit. (Note that you should be able to use tags with non-registered packages, so that isn’t the problem.) Yes, the old package manager had a lot of problems.

The long term solution is the new package manager that ships with 0.7. Since the 0.7 alpha just came out, I encourage you to try it out and get your packages running on 0.7 (after which there will be no breaking changes until 2.0). If you don’t have the appetite for that, an intermediate hack would be to clone Foo 0.3 into a separate Foo0p3 directory and change the package name.

1 Like

Thank you very much for this detailed explanation!

More reasons to try 0.7 then :slight_smile:

1 Like