我正在尝试在Julia上添加一个新包。包的名称是DataFrames.jl。要添加此包,我运行julia,只需键入Pkg.add("DataFrames")
即可。不幸的是,当我这样做时,我遇到了以下错误:
julia> Pkg.add("DataFrames")
error: bad index file sha1 signature
fatal: index file corrupt
ERROR: failed process: Process(`git --work-tree=~/theuserxxx/.julia/v0.4/METADATA --git-dir=~/theuserxxx/.julia/v0.4/METADATA/.git update-index -q --really-refresh`, ProcessExited(128)) [128]
in run at ./process.jl:531
in success at pkg/git.jl:30
in add at pkg/entry.jl:54
in add at pkg/entry.jl:73
in anonymous at pkg/dir.jl:31
in cd at file.jl:22
in cd at pkg/dir.jl:31
in add at pkg.jl:23
另外,每当我尝试更新现有软件包时,我也会遇到同样的错误:
julia> Pkg.update()
INFO: Updating METADATA...
error: bad index file sha1 signature
fatal: index file corrupt
ERROR: failed process: Process(`git pull --rebase -q`, ProcessExited(128)) [128]
in pipeline_error at process.jl:555
in run at process.jl:531
in anonymous at pkg/entry.jl:283
in withenv at env.jl:160
in anonymous at pkg/entry.jl:282
in cd at ./file.jl:22
in update at ./pkg/entry.jl:272
in anonymous at pkg/dir.jl:31
in cd at file.jl:22
in cd at pkg/dir.jl:31
in update at ./pkg.jl:45
有没有人可以帮我解决这个问题?目前,我正在使用julia 0.4.5
但这个问题在我转移到0.4.5之前就开始了。
答案 0 :(得分:3)
听起来很傻,最好的办法是删除你的METADATA文件夹,然后重新运行Pkg.add("DataFrames")
命令。当然,这将删除您之前下载的所有软件包,因此您必须重新安装。
显然,如果您的目录中未注册的软件包未在GitHub上备份,请不要删除您的目录。但是,当你收到类似这样的错误时,通常是因为本地计算机上的METADATA仓库以某种方式搞砸了。