# Best way to Re-Install Julia on new computer?

**URL:** <https://discourse.julialang.org/t/best-way-to-re-install-julia-on-new-computer/106103>\
**Category:** New to Julia\
**Tags:** installation\
**Created:** [November 12, 2023, 3:29am UTC](https://discourse.julialang.org/t/best-way-to-re-install-julia-on-new-computer/106103 "2023-11-12T03:29:45Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![CosmoProf](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/cosmoprof/32/15516_2.png) [@CosmoProf](https://discourse.julialang.org/u/CosmoProf)\
**Post date:** [November 12, 2023, 3:29am UTC](https://discourse.julialang.org/t/best-way-to-re-install-julia-on-new-computer/106103/1 "2023-11-12T03:29:46Z")

</div>

Hi, my computer had to be swapped for a new one, and I need to re-install Julia from scratch, making sure that all of my old Julia programs will still run correctly.

The first time I installed Julia, I had a litany of problems until it was suggested that I install it using JuliaPro. But apparently JuliaPro doesn’t exist anymore! So what would be the most robust way to install Julia now?

My current system is again a PC (I believe running Windows 11), and my last version (with the code that was working correctly) was using JuliaPro 1.4.2-1 (and Atom 1.47.0 x64).

Thanks for any suggestions!

---

<div class="post-metadata">

**Author:** ![ufechner7](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ufechner7/32/51363_2.png) [@ufechner7](https://discourse.julialang.org/u/ufechner7)\
**Post date:** [November 12, 2023, 3:37am UTC](https://discourse.julialang.org/t/best-way-to-re-install-julia-on-new-computer/106103/2 "2023-11-12T03:37:59Z")

</div>

Well, use juliaup to install Julia: [GitHub - JuliaLang/juliaup: Julia installer and version multiplexer](https://github.com/JuliaLang/juliaup)

It allows you to install multiple versions of Julia and to switch easily between the versions.

Start with installing your old Julia version (1.4.2) on the new computer. Copy the the Project.toml and Manifest.toml files from your old computer to the new computer. Run `using Pkg; Pkg.instantiate` and you are done.

You find the global environment in the folder:

```julia
ufechner@tuxedi:~/.julia/environments/v1.4$ ls
Manifest.toml Project.toml

```

Did you work with a global environment or with an environment per project?

---

<div class="post-metadata">

**Author:** ![CosmoProf](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/cosmoprof/32/15516_2.png) [@CosmoProf](https://discourse.julialang.org/u/CosmoProf)\
**Post date:** [November 12, 2023, 3:53am UTC](https://discourse.julialang.org/t/best-way-to-re-install-julia-on-new-computer/106103/3 "2023-11-12T03:53:28Z")

</div>

Hi, thanks for the quick reply.  
Currently the old computer is gone and I have all of my working Julia files saved on an external hard drive. I don’t believe that I saved any of the environmental variables or Julia installation files.

Are you saying that I need to contact my work’s sysadmin staff (hopefully they didn’t re-format the old computer yet), and retrieve the Manifest.toml and Project.toml files from somewhere on it? Could I ask them to email those files to me?

For your other question, I was the only person on the computer and I think I used the same (global?) environment for everything I ran in Julia.

---

<div class="post-metadata">

**Author:** ![ufechner7](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ufechner7/32/51363_2.png) [@ufechner7](https://discourse.julialang.org/u/ufechner7)\
**Post date:** [November 12, 2023, 4:13am UTC](https://discourse.julialang.org/t/best-way-to-re-install-julia-on-new-computer/106103/4 "2023-11-12T04:13:37Z")

</div>

> [@CosmoProf](#):
>
> Manifest.toml and Project.toml files from somewhere on it? Could I ask them to email those files to me?
> 
> For your other question, I was the only person on the computer and I think I used the same (global?) environment for everything I ran in Julia.

Best practise is:

- have your code in a git repository, then you can use it from any computer;
- have a per-project environment (`Project.toml` file) and commit it to git. This avoids version conflicts for example between old and new projects. It also serves as documentation which packages in which version your project depends on.
- create a backup of your `Manifest.toml` file when all works well.

See: [Working with Julia projects | Julia programming notes](https://ufechner7.github.io/2022/08/16/julia-projects.html)

For now, yes, ask the sysadmin to send you these two files. But you can already start to install `juliaup` and use it to install Julia 1.4.2 .

---

<div class="post-metadata">

**Author:** ![CosmoProf](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/cosmoprof/32/15516_2.png) [@CosmoProf](https://discourse.julialang.org/u/CosmoProf)\
**Post date:** [November 12, 2023, 4:42am UTC](https://discourse.julialang.org/t/best-way-to-re-install-julia-on-new-computer/106103/5 "2023-11-12T04:42:41Z")

</div>

Thanks for the suggestions on best practices, I will look into a git repository for the future.  
For now, just to see if I understand you, is this the order of events you suggest:

1. Get my old “Manifest.toml” & “Project.toml” files back from the old computer & hold onto them.
2. Use your GitHub link to click that page’s link to the Windows store, to “Install Julia”, which will install both Julia and “Juliaup” at the same time on my new computer.
3. Somehow tell the installation NOT to install the latest version of Julia, but instead to install Julia 1.4.2.
4. Find the file directory (similar to the one you showed above) on the new computer which contains the new “Manifest.toml” & “Project.toml” files put there by the installation, and then OVER-WRITE them by copying over them with my old “Manifest.toml” & “Project.toml” files.
5. Run `using Pkg; Pkg.instantiate`

Pardon me if I’m being slow, but just trying to be sure.

---

<div class="post-metadata">

**Author:** ![Oscar\_Smith](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/oscar_smith/32/25343_2.png) [@Oscar\_Smith](https://discourse.julialang.org/u/Oscar_Smith)\
**Post date:** [November 12, 2023, 4:46am UTC](https://discourse.julialang.org/t/best-way-to-re-install-julia-on-new-computer/106103/6 "2023-11-12T04:46:25Z")

</div>

yes. That is all correct. With Juliaup, the way to get julia 1.4.2 is `juliaup add 1.4.2` from the command line and it should just work.

---

<div class="post-metadata">

**Author:** ![ufechner7](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ufechner7/32/51363_2.png) [@ufechner7](https://discourse.julialang.org/u/ufechner7)\
**Post date:** [November 12, 2023, 4:50am UTC](https://discourse.julialang.org/t/best-way-to-re-install-julia-on-new-computer/106103/7 "2023-11-12T04:50:29Z")

</div>

Well, you need two commands:

```julia
juliaup add 1.4.2
juliaup default 1.4.2

```

Of course you can try to re-create the same global environment (=set of packages), or you try to start to work with per-project environment…

To see which packages are installed you can type:

```julia
using Pkg
Pkg.status()

```

It also shows you in which folder the global environment is stored.

---

<div class="post-metadata">

**Author:** ![CosmoProf](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/cosmoprof/32/15516_2.png) [@CosmoProf](https://discourse.julialang.org/u/CosmoProf)\
**Post date:** [November 12, 2023, 5:01am UTC](https://discourse.julialang.org/t/best-way-to-re-install-julia-on-new-computer/106103/8 "2023-11-12T05:01:45Z")

</div>

I think I’d prefer to re-create my old set of packages as they were, because Julia had been extremely finicky about the order I installed things in, and I finally had something that was working. I guess I need to somehow run `Pkg.status` from the old computer, and then re-add everything as per that list, one at a time.

Just want to make sure that I will not cause trouble manually deleting the new “Manifest.toml” and “Project.toml” files and copying in my old ones.

FYI, I do not know what “per-project environment” really means.

---

<div class="post-metadata">

**Author:** ![ufechner7](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ufechner7/32/51363_2.png) [@ufechner7](https://discourse.julialang.org/u/ufechner7)\
**Post date:** [November 12, 2023, 5:08am UTC](https://discourse.julialang.org/t/best-way-to-re-install-julia-on-new-computer/106103/9 "2023-11-12T05:08:50Z")

</div>

> [@CosmoProf](#):
>
> FYI, I do not know what “per-project environment” really means.

A project is a folder with the files you need for a piece of work. Per project environment means:

- you created empty Project.toml and Manifest.toml files in this folder for example by running the command `julia --project="."` and than add the packages you need
- the next time you start Julia in that folder you use the command `julia --project`
- visual studio code does that automatically for you when you open a folder that contains these two files

---

<div class="post-metadata">

**Author:** ![ufechner7](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ufechner7/32/51363_2.png) [@ufechner7](https://discourse.julialang.org/u/ufechner7)\
**Post date:** [November 12, 2023, 5:14am UTC](https://discourse.julialang.org/t/best-way-to-re-install-julia-on-new-computer/106103/10 "2023-11-12T05:14:48Z")

</div>

> [@CosmoProf](#):
>
> `Pkg.status` from the old computer, and then re-add everything as per that list, one at a time.

Well, adding the packages manually is not needed and error prone. If you have the Project.toml and Manifest.toml files in the location of the global environment, just launch Julia and run `using Pkg; Pkg.instantiate()`.

If you copied them to your project folder, run:

```julia
julia --project

```

and then `using Pkg; Pkg.instantiate()`.

---

<div class="post-metadata">

**Author:** ![CosmoProf](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/cosmoprof/32/15516_2.png) [@CosmoProf](https://discourse.julialang.org/u/CosmoProf)\
**Post date:** [November 12, 2023, 5:15am UTC](https://discourse.julialang.org/t/best-way-to-re-install-julia-on-new-computer/106103/11 "2023-11-12T05:15:44Z")

</div>

Ok, thank you so much!  
I will try this when (if) I am able to get my old files back.

---

<div class="post-metadata">

**Author:** ![johnh](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/johnh/32/3615_2.png) [@johnh](https://discourse.julialang.org/u/johnh)\
**Post date:** [November 12, 2023, 6:14am UTC](https://discourse.julialang.org/t/best-way-to-re-install-julia-on-new-computer/106103/12 "2023-11-12T06:14:00Z")

</div>

I have been using Julia for several years on Linux and Windows. I hav been through the pains of installing and updating Julia on those platforms.  
I can honestly say that Juliaup is the cats pyjamas. Thankyou @davidanthoff

For instance there was a recent thread abotu a memory leak in a code. I tested using version 1.10.1 (no leak) and would be quite happy to toggle to 1.9.1 using Juliaup for another test.  
In the ‘old days’ an operation like that would have given me the fear.

---

<div class="post-metadata">

**Author:** ![nilshg](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/nilshg/32/2283_2.png) [@nilshg](https://discourse.julialang.org/u/nilshg)\
**Post date:** [November 12, 2023, 7:16am UTC](https://discourse.julialang.org/t/best-way-to-re-install-julia-on-new-computer/106103/13 "2023-11-12T07:16:13Z")

</div>

As an aside, I would encourage you to move to a newer Julia version if possible - 1.4 is quite dated at this point and even older than the last LTS version 1.6.

Julia has improved in many ways since the 1.4 days and most code should run without changes on 1.9 or 1.10 (for which there currently is a release candidate). The main changes you might have to make will come from packages you are working with for which you currently don’t have the latest version because they don’t support 1.4 any longer.

---

<div class="post-metadata">

**Author:** ![mkitti](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mkitti/32/12459_2.png) [@mkitti](https://discourse.julialang.org/u/mkitti)\
**Post date:** [November 12, 2023, 5:06pm UTC](https://discourse.julialang.org/t/best-way-to-re-install-julia-on-new-computer/106103/14 "2023-11-12T17:06:36Z")

</div>

It sounds like you might want to grab your entire `~/.julia` depot just in case.

---

<div class="post-metadata">

**Author:** ![CosmoProf](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/cosmoprof/32/15516_2.png) [@CosmoProf](https://discourse.julialang.org/u/CosmoProf)\
**Post date:** [November 13, 2023, 7:21pm UTC](https://discourse.julialang.org/t/best-way-to-re-install-julia-on-new-computer/106103/15 "2023-11-13T19:21:27Z")

</div>

Hi again, still waiting for my old files back, probably I will first try to re-create the old Julia environment and make sure that works, then move to the latest good Julia version.

For now, I clicked on the link to the Microsoft store and installed it… but all I got was the command-line version of Julia. Where the best source for the version with all the windows?! (I was using Atom on the old computer.)

---

<div class="post-metadata">

**Author:** ![mkitti](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mkitti/32/12459_2.png) [@mkitti](https://discourse.julialang.org/u/mkitti)\
**Post date:** [November 13, 2023, 7:24pm UTC](https://discourse.julialang.org/t/best-way-to-re-install-julia-on-new-computer/106103/16 "2023-11-13T19:24:25Z")

</div>

All of the windows?

The majority of editor support development is now with VSCode.

[https://www.julia-vscode.org/](https://www.julia-vscode.org/)

---

<div class="post-metadata">

**Author:** ![CosmoProf](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/cosmoprof/32/15516_2.png) [@CosmoProf](https://discourse.julialang.org/u/CosmoProf)\
**Post date:** [November 13, 2023, 9:47pm UTC](https://discourse.julialang.org/t/best-way-to-re-install-julia-on-new-computer/106103/17 "2023-11-13T21:47:57Z")

</div>

No, I don’t really know what the various panes are called (other than the REPL).  
But I see now that Atom-Juno is also dead now too (everything changes fast), so I’ll install the new IDE from that vscode site.  
Hopefully it won’t be a problem that I installed Julia itself already on the computer, before the IDE.  
Thanks.

---

<div class="post-metadata">

**Author:** ![Palli](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/palli/32/3380_2.png) [@Palli](https://discourse.julialang.org/u/Palli)\
**Post date:** [November 13, 2023, 10:19pm UTC](https://discourse.julialang.org/t/best-way-to-re-install-julia-on-new-computer/106103/18 "2023-11-13T22:19:05Z")

</div>

Julia has reproducibility guarantee. Meaning if you have exact same versions you can run everything the same.

I.e. Julia 1.4.2, it needs not be JuliaPro, but it does need the same exact versions of your packages too. That’s what the Manifest.toml file is for.

[Julia is a system of its own in a way, and no upgrade of the OS has been known to break the guarantee that I know of. But in theory just upgrading the OS, and nothing else could do that, and that has happened with Python in the past. Also you WILL get a different stream of random numbers, which is usually not a problem, even better. Unless you only upgrade to, if I recall, Julia 1.7 or 1.6 LTS which is rather outdated. Bit-identical float results are hard to guarantee for any language upgrade, and you shouldn’t expect that, except for basic arithmetic operators.]

But in most cases it should be ok to upgrade (Julia has a forward compatibility syntax guarantee, and API stability guarantee, it’s just some package’s use undocumented, not-promised stable, (non) “API”.]. E.g. to latest supported Julia. People may tell you it’s not true, and it breaks the old packages. But if you also update the packages to latest then you’re usually fine.

If not, then a package depended on internals of old Julia, or internals of older package.

> [@CosmoProf](#):
>
> Get my old “Manifest.toml” & “Project.toml” files back from the old computer & hold onto them.

The Project file is often enough, it doesn’t state exact versions, then you would just upgrade to latest. To be sure you need the other (and would it alone be enough?).

And of course you need your own source code… And in some exceptional cases not all dependencies are handled by Julia, it’s package manager, and then you need to install something more.

> [@CosmoProf](#):
>
> all I got was the command-line version of Julia. Where the best source for the version with all the windows?! (I was using Atom on the old computer.)

You could still use the exact same Atom or newer, or VS Code. What I wrote about needing exact same versions for the guarantee would not apply to Atom, since it’s just an editor and to access Julia. It might still apply for familiarity. Note, the Atom people moved on to working on VS Code, so so should you, at least eventually. It should have feature parity, and lots of newer features. But it will be slightly different. I doubt anything you did relied on the exact IDE/editor(?).

I found some rather recent discussion related to Atom, but as I said at least the same version (and most probably the fastest should work):

> [@Atom package: julia-client seems to be broken](https://discourse.julialang.org/t/atom-package-julia-client-seems-to-be-broken/91037):
>
> I like the Atom-Editor as a second Julia editor, but the atom package julia-client seems to be brocken. After deinstallation I tried to re-install it via apm but it fails: C:\bin\Atom\resources\app\apm\bin\>apm install julia-client Installing julia-client to C:\Users\stefanpofahl\.atom\packages failed Request for package information failed: Application error I there some-one who uses Atom v1.63.1 and has managed to get it to work under MS-Windows?

---

<div class="post-metadata">

**Author:** ![Palli](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/palli/32/3380_2.png) [@Palli](https://discourse.julialang.org/u/Palli)\
**Post date:** [November 13, 2023, 11:45pm UTC](https://discourse.julialang.org/t/best-way-to-re-install-julia-on-new-computer/106103/19 "2023-11-13T23:45:17Z")

</div>

FYI you can use the --heap-size-hint, I’m not sure it will limit memory enough for you, and note there also the line I had in mind, for actually 250 MB, and it’s suggested to be changed. And it’s not just for LLVM:

> <https://github.com/JuliaLang/julia/pull/51656/files>
>
> This wasn't respecting the documentation that Libuv has, which lead to weird res…ults. This might have caused some issues with julia inside containers

---

<div class="post-metadata">

**Author:** ![CosmoProf](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/cosmoprof/32/15516_2.png) [@CosmoProf](https://discourse.julialang.org/u/CosmoProf)\
**Post date:** [November 16, 2023, 9:02pm UTC](https://discourse.julialang.org/t/best-way-to-re-install-julia-on-new-computer/106103/20 "2023-11-16T21:02:21Z")

</div>

Hi again, thanks everyone for all the pointers. I got my old Manifest.toml & Project.toml files back, and currently I have Julia 1.9 installed pretty much fresh. Just another query…

I’m a little leery of just downright deleting the new Julia v1.9 versions of Manifest & Project and replacing them manually with the old Julia 1.4 versions. Also, I think it would be ultimately best if I did migrate to Julia 1.9 now (instead of sticking with Julia 1.4). But, I do need my old Package environment to be re-created (or close to it, with minimal fixing), and for the old code to work again. So, to slightly vary my original question:

What’s the best way to “merge” my old Package environment (v1.4 Manifest & Project.toml files) into the new v1.9 system, so that everything is as close to “working” as possible, the same as before, but now in Julia 1.9? Thanks again!

[Next page](https://discourse.julialang.org/t/best-way-to-re-install-julia-on-new-computer/106103.md?page=2)
