Hi, this must be a very silly thing, but I haven’t updated Julia in quite some time, and I can’t remember how to do it properly. Basically I just installed Julia 1.6.1, and then, since I would like to keep the same packages I used to have, I copied the Manifest.toml and Project.toml files to the new ~/.julia/environments/v1.6 directory.
First time I go into Julia, I get some errors, but I just to ] build ; ] update and upon restarting Julia all looks fine and no errors, but for some reason I get stuck at version 0.21.8 of DataFrames. What am I doing wrong?
Thanks
angelv@sieladon:~$ julia
_
_ _ _(_)_ | Documentation: https://docs.julialang.org
(_) | (_) (_) |
_ _ _| |_ __ _ | Type "?" for help, "]?" for Pkg help.
| | | | | | |/ _` | |
| | |_| | | | (_| | | Version 1.6.1 (2021-04-23)
_/ |\__'_|_|_|\__'_| | Official https://julialang.org/ release
|__/ |
(@v1.6) pkg> up
Updating registry at `~/.julia/registries/General`
No Changes to `~/.julia/environments/v1.6/Project.toml`
No Changes to `~/.julia/environments/v1.6/Manifest.toml`
(@v1.6) pkg> status DataFrames
Status `~/.julia/environments/v1.6/Project.toml`
[a93c6f00] DataFrames v0.21.8
Thanks, but is there any reason why I have to specify the version, instead of by default getting the latest one? (Is this only for DataFrames for some reason?)
(@v1.6) pkg> add DataFrames@1.1
Updating registry at `~/.julia/registries/General`
Resolving package versions...
ERROR: Unsatisfiable requirements detected for package Compat [34da2185]:
Compat [34da2185] log:
├─possible versions are: 1.0.0-3.30.0 or uninstalled
├─restricted by compatibility requirements with DataFrames [a93c6f00] to versions: 3.17.0-3.30.0
│ └─DataFrames [a93c6f00] log:
│ ├─possible versions are: 0.11.7-1.1.1 or uninstalled
│ └─restricted to versions 1.1 by an explicit requirement, leaving only versions 1.1.0-1.1.1
└─restricted by compatibility requirements with RomanNumerals [37834d88] to versions: 1.0.0-2.2.1 — no versions left
└─RomanNumerals [37834d88] log:
├─possible versions are: 0.3.1 or uninstalled
└─restricted to versions * by an explicit requirement, leaving only versions 0.3.1
Your second post answers your first - you have unsatisfiable requirements in your environment. Don’t just dump all your packages into the default environment, instead create a new environment for every project you work on with only the packages you actually need. This will minimize dependency conflicts.
If you do:
]activate --temp
]add DataFrames
you will get 1.1 installed in the temporary environment.
OK, thanks. I was doing it that way since it was the suggested way in some other post to migrate from a Julia version to another one, but it looks like it is perhaps not the best way to do it. So I just removed the whole environments/v1.6 directory, started all over, installing just the packages that are missing when I run my scripts, and all looks fine now.
Cheers,