Genie 安装失败


#1

环境

Julia Version 1.1.1
Commit 55e36cc308 (2019-05-16 04:10 UTC)
Platform Info:
  OS: Windows (x86_64-w64-mingw32)
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-6.0.1 (ORCJIT, skylake)

无论是

Pkg.add(“Genie”)
Updating registry at B:\ProgramData\Julia_PKG\registries\General
Updating git-repo https://github.com/JuliaRegistries/General.git
ERROR: GitError(Code:EMERGECONFLICT, Class:Checkout, 199 conflicts prevent checkout)

还是

(v1.1) pkg> add https://github.com/genieframework/Genie.jl
Updating registry at B:\ProgramData\Julia_PKG\registries\General
Updating git-repo https://github.com/JuliaRegistries/General.git
ERROR: GitError(Code:EMERGECONFLICT, Class:Checkout, 199 conflicts prevent checkout)

均出错
未能在google上搜到相关有用的信息……
完整报错信息如下:

(v1.1) pkg> add https://github.com/genieframework/Genie.jl
Updating registry at B:\ProgramData\Julia_PKG\registries\General
Updating git-repo https://github.com/JuliaRegistries/General.git
ERROR: GitError(Code:EMERGECONFLICT, Class:Checkout, 199 conflicts prevent checkout)
Stacktrace:
[1] macro expansion at C:\cygwin\home\Administrator\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.1\LibGit2\src\error.jl:101 [inlined]
[2] #checkout_tree#46(::LibGit2.CheckoutOptions, ::Function, ::LibGit2.GitRepo, ::LibGit2.GitCommit) at C:\cygwin\home\Administrator\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.1\LibGit2\src\repository.jl:358
[3] checkout_tree at C:\cygwin\home\Administrator\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.1\LibGit2\src\repository.jl:356 [inlined]
[4] ffmerge!(::LibGit2.GitRepo, ::LibGit2.GitAnnotated) at C:\cygwin\home\Administrator\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.1\LibGit2\src\merge.jl:107
[5] #merge!#89(::LibGit2.MergeOptions, ::LibGit2.CheckoutOptions, ::Function, ::LibGit2.GitRepo, ::Array{LibGit2.GitAnnotated,1}, ::Bool) at C:\cygwin\home\Administrator\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.1\LibGit2\src\merge.jl:234
[6] #merge! at .\none:0 [inlined]
[7] #merge!#140(::String, ::String, ::Bool, ::LibGit2.MergeOptions, ::LibGit2.CheckoutOptions, ::Function, ::LibGit2.GitRepo) at C:\cygwin\home\Administrator\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.1\LibGit2\src\LibGit2.jl:784
[8] #merge! at .\none:0 [inlined]
[9] update_registries(::Pkg.Types.Context, ::Array{Pkg.Types.RegistrySpec,1}) at C:\cygwin\home\Administrator\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.1\Pkg\src\Types.jl:1243
[10] update_registries at C:\cygwin\home\Administrator\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.1\Pkg\src\Types.jl:1210 [inlined]
[11] #handle_repos_add!#61(::Bool, ::Nothing, ::Function, ::Pkg.Types.Context, ::Array{Pkg.Types.PackageSpec,1}) at C:\cygwin\home\Administrator\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.1\Pkg\src\Types.jl:718
[12] #handle_repos_add! at C:\cygwin\home\Administrator\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.1\Pkg\src\API.jl:0 [inlined]
[13] #add_or_develop#17(::Symbol, ::Bool, ::Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}}, ::Function, ::Pkg.Types.Context, ::Array{Pkg.Types.PackageSpec,1}) at C:\cygwin\home\Administrator\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.1\Pkg\src\API.jl:47
[14] (::getfield(Pkg.API, Symbol("#kw##add_or_develop")))(::NamedTuple{(:mode,),Tuple{Symbol}}, ::typeof(Pkg.API.add_or_develop), ::Pkg.Types.Context, ::Array{Pkg.Types.PackageSpec,1}) at .\none:0
[15] do_add!(::Dict{Symbol,Any}, ::Array{Pkg.Types.PackageSpec,1}, ::Dict{Symbol,Any}) at C:\cygwin\home\Administrator\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.1\Pkg\src\REPLMode.jl:672
[16] #invokelatest#1(::Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}}, ::Function, ::Any, ::Any, ::Vararg{Any,N} where N) at .\essentials.jl:742
[17] invokelatest(::Any, ::Any, ::Vararg{Any,N} where N) at .\essentials.jl:741
[18] do_cmd!(::Pkg.REPLMode.PkgCommand, ::REPL.LineEditREPL) at C:\cygwin\home\Administrator\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.1\Pkg\src\REPLMode.jl:563
[19] #do_cmd#31(::Bool, ::Function, ::REPL.LineEditREPL, ::String) at C:\cygwin\home\Administrator\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.1\Pkg\src\REPLMode.jl:538
[20] do_cmd at C:\cygwin\home\Administrator\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.1\Pkg\src\REPLMode.jl:534 [inlined]
[21] (::getfield(Pkg.REPLMode, Symbol("##53#56")){REPL.LineEditREPL,REPL.LineEdit.Prompt})(::REPL.LineEdit.MIState, ::Base.GenericIOBuffer{Array{UInt8,1}}, ::Bool) at C:\cygwin\home\Administrator\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.1\Pkg\src\REPLMode.jl:988
[22] #invokelatest#1 at .\essentials.jl:742 [inlined]
[23] invokelatest at .\essentials.jl:741 [inlined]
[24] run_interface(::REPL.Terminals.TextTerminal, ::REPL.LineEdit.ModalInterface, ::REPL.LineEdit.MIState) at C:\cygwin\home\Administrator\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.1\REPL\src\LineEdit.jl:2273
[25] run_frontend(::REPL.LineEditREPL, ::REPL.REPLBackendRef) at C:\cygwin\home\Administrator\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.1\REPL\src\REPL.jl:1035
[26] run_repl(::REPL.AbstractREPL, ::Any) at C:\cygwin\home\Administrator\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.1\REPL\src\REPL.jl:192
[27] (::getfield(Base, Symbol("##734#736")){Bool,Bool,Bool,Bool})(::Module) at .\client.jl:362
[28] #invokelatest#1 at .\essentials.jl:742 [inlined]
[29] invokelatest at .\essentials.jl:741 [inlined]
[30] run_main_repl(::Bool, ::Bool, ::Bool, ::Bool, ::Bool) at .\client.jl:346
[31] exec_options(::Base.JLOptions) at .\client.jl:284
[32] _start() at .\client.jl:436


#2

本地 registry 的 git 合并出错了,删了重建一下。

在 REPL 下输入 ]st 可以看到 .julia 文件夹的路径
我的 registries 的路径 C:\Users\woclass\.julia\registries。你可先把这个文件夹删了,再试试
注意!这会删掉之前装的所有包


#3

谢谢,删掉库后重装根据提示已经可以完成

如果有git repo,可以手动导入包吗?

假设以后再次出现这问题,之前装好的全部包又得删了……(已经几个G


#4

楼上口胡,瞎说(已经划去

我又确认了一下,安装的包放在 .julia\packages 下,.julia\registries\General 文件夹放的是各个包的注册信息(UUID -> 包名)

所以按道理不会删掉之前的安装的包。


#5

emmm…说的不是删掉整个库么(.julia)?

只删 packages\Genie 或者 registries\General\G\Genie 的话,记得之前有试过,但是似乎没有效果

把全部(.julia)删掉后才成功装上…看了一下包结构,似乎无法手动导入,谢谢


#6

能解决问题就好。

可能是我上面没说清楚,我的意思是先删 .julia\registries\General 试试。

总体思路是先尝试删 .julia\registries\General ,不行再删 .julia\registries\General,还是不行就把 .julia 删了。