简体   繁体   中英

Cannot install any package in Julia

I had used Julia some months back for a project, and didn't use it since. I hadn't faced problems back then. But now, I absolutely am not able to install any package.

(@v1.5) pkg> add Distributions                                                                                           
  Resolving package versions...                                                                                         
 ERROR: Unsatisfiable requirements detected for package Distributions [31c24e10]:                                         
 Distributions [31c24e10] log:                                                                                           
 ├─Distributions [31c24e10] has no known versions!                                                                       
 └─restricted to versions * by an explicit requirement — no versions left

Any package I install, I am getting the same error. How do I fix it?

This is the status of Pkg:

(@v1.5) pkg> status                                                                                                     
Status `C:\Users\jaine\.julia\environments\v1.5\Project.toml`                                                             
[6e4b80f9] BenchmarkTools v0.5.0                                                                                        
[7073ff75] IJulia v1.21.2                                                                                               
[91a5bcdd] Plots v1.6.0                                                                                                 
[438e738f] PyCall v1.91.4                                                                                               
[d330b81b] PyPlot v2.9.0                                                                                                
[2913bbd2] StatsBase v0.33.0 

Given

├─Distributions [31c24e10] has no known versions!

it looks like you have a missing or corrupt package registry. The package manager will reinstall it for you if you delete .julia/registries and try to add the package again. You can do this from within julia

rm(joinpath(homedir(), ".julia", "registries"), recursive=true, force=true)

These are indeed some of the more tricky situations to resolve so please bear with me as we work through this.

  1. If you are not familiar with the basics of the package manager, it's worth a quick read to check out: https://julialang.github.io/Pkg.jl/v1/getting-started/

  2. Assuming you are now in the Julia Repl, my general work flow for these issues is to remove everything it warns me about. The core problem here is that one of your existing packages is saying it needs a specific version of Distributions.jl but it's not able to add it. So, the first step would be to enter the pkg manager by doing ] and type rm Distributions .

  3. Then, while still in the pkg mode, do resolve and add Distributions .

So the process is to just remove each package the Repl complains about until it stops complaining.

Note: If you run into something like this again, the worst-case scenario is to remove the project and manifest files for the specific Julia version you are using. If you navigate to ".julia/environments" you should be able to completely reset the Julia Env for a specific version there (that way you don't need to actually reinstall Julia).

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM