Juce 6 installed, can I delete Juce 5?

I’m halfway through tutorials and some small development on my own so I have a lot of working code made with Juce 5. Now that I’ve downloaded and installed Juce 6 in it’s own folder do I need Juce 5 anymore or can I continue with new tutorials and my old Juce 5 projects/tutorials in Juce 6? Simply moving them to the Juce 6 folder?

The updating process should be straightforward, but I’d recommend leaving your copy of JUCE 5 installed until you’ve updated all of your projects to JUCE 6, just in case you suddenly need to run an old project that hasn’t yet been updated.

IMHO, you should never put things into the JUCE folder. It is not supposed to be changed (at least for usual users).

1 Like

For real world projects, it’s best to even organise it the other way round: Each project should contain its own copy of JUCE instead of keeping one copy of juce in a single place on your computer. Benefits here: You can update JUCE on a per-project basis, each project will contain exactly the JUCE version it relies on. Furthermore your project is self-containing, you can move the project directory to another computer and are ready to continue working there.

In case you are aiming for a professional workflow, the next step is to track your projects with a version control system, where Git is the most obvious choice. If you do so, you should switch to a git managed copy of JUCE by cloning it from their official GitHub repository. You can then add JUCE as a git submodule to each project, allowing you fine grained control of the exact version of JUCE for all individual projects.

6 Likes

OK, thanks for the input.

I almost immedialtely discovered that some tutorials and projects would not compile using the Juce6 modules so I guess I need to keep Juce5 to be able to get back to them.

Regarding keeping a copy of Juce per project, when I double click a project it get’s opened in the latest version of Projucer although references are to modules from prior versions of Juce. Will that be a problem? Do I need the right versions of Projucer to start on a per project basis too? Since the are all called “Projucer” it gets kind of confusing.

As far as I am concerned, i use only one JUCE folder placed at $HOME. It is the easiest at start (specially for tutorials).You can download the last tagged package (e.g. JUCE 6.1) where proper Projucer binary is provided. That’s super easy. Of course in that case you must update your work each time you change the JUCE folder. I don’t know from JUCE 5 to JUCE 6, but i don’t find it is a hard process for small projects.

If you go with @PluginPenguin approach (that is perfectly valid for power users with lots of advanced projects) i guess that switching to Cmake is a good option too. Managing your projects with the Projucer in that case could be a true mess (please correct me if i’m wrong).

My 2 cents.

Some additional information:

You can always download old versions of JUCE from git hub (just in case the new version should not work as expected):

1 Like

+1 for this technique, although I’d expand it slightly to say a monorepo approach can be very useful if you have multiple projects sharing resources (e.g. a bundle of plugins).

You’d submodule JUCE into a libraries/ directory, next to a projects/ directory so you can keep each project in that repo using the same version of JUCE.

2 Likes