Не могу установить ни один пакет в Джулии
Я использовал Джулию несколько месяцев назад для проекта и с тех пор не использовал ее. Тогда я не сталкивался с проблемами. Но теперь я абсолютно не могу установить ни один пакет.
(@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
Любой пакет, который я устанавливаю, я получаю ту же ошибку. Как это исправить?
Это статус 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
2 ответа
Данный
├─Distributions [31c24e10] has no known versions!
похоже, что у вас отсутствует или поврежден реестр пакетов. Менеджер пакетов переустановит его для вас, если вы удалите
.julia/registries
и попробуйте снова добавить пакет. Вы можете сделать это изнутри Юлии
rm(joinpath(homedir(), ".julia", "registries"), recursive=true, force=true)
Это действительно одни из самых сложных ситуаций, которые нужно разрешить, поэтому, пожалуйста, потерпите меня, пока мы работаем над этим.
Если вы не знакомы с основами менеджера пакетов, стоит быстро прочитать, чтобы проверить: https://julialang.github.io/Pkg.jl/v1/getting-started/
Предполагая, что вы сейчас находитесь в Julia Repl, мой общий рабочий процесс для этих проблем заключается в удалении всего, о чем он меня предупреждает. Основная проблема здесь заключается в том, что один из ваших существующих пакетов говорит, что ему нужна определенная версия Distributions.jl, но не может ее добавить. Итак, первым шагом было бы войти в менеджер pkg, выполнив
]
и введитеrm Distributions
.Затем, все еще находясь в режиме pkg, выполните
resolve
а такжеadd Distributions
.
Таким образом, процесс заключается в простом удалении каждого пакета, на который жалуется Repl, до тех пор, пока он не перестанет жаловаться.
Примечание. Если вы снова столкнетесь с чем-то подобным, наихудшим сценарием будет удаление проекта и файлов манифеста для конкретной версии Julia, которую вы используете. Если вы перейдете к «.julia/environments», вы сможете полностью сбросить настройки окружения Julia для конкретной версии (таким образом вам не нужно будет переустанавливать Julia).