我是 Julia 的新手,我想使用 COBRA 包。 为了添加 COBRA,我使用命令:
Pkg.add("COBRA")
但是在运行时,我得到了这些错误:
INFO: Building WinRPM
WARNING: skipping repodata/repomd.xml, not in cache -- call WinRPM.update() to download
WARNING: skipping repodata/repomd.xml, not in cache -- call WinRPM.update() to download
INFO: Downloading https://cache.julialang.org/http://download.opensuse.org/repositories/windows:/mingw:/win32/openSUSE_Leap_42.2/repodata/repomd.xml
WARNING: Unknown download failure, error code: 2148270086
WARNING: Retry 1/5 downloading: https://cache.julialang.org/http://download.opensuse.org/repositories/windows:/mingw:/win32/openSUSE_Leap_42.2/repodata/repomd.xml
直到:
WARNING: Unknown download failure, error code: 2148270086
WARNING: Retry 5/5 downloading: https://cache.julialang.org/http://download.opensuse.org/repositories/windows:/mingw:/win32/openSUSE_Leap_42.2/repodata/repomd.xml
WARNING: received error 0 while downloading https://cache.julialang.org/http://download.opensuse.org/repositories/windows:/mingw:/win32/openSUSE_Leap_42.2/repodata/repomd.xml
出现这些错误后,我检查了链接,发现源代码不再存在。 然后我按照上面所说的运行了这个命令:
WinRPM.update()
但是它抛出了这个错误:
ERROR: UndefVarError: WinRPM not defined
请帮助我将 COBRA 添加到 Julia。我使用的是 0.6.4 版,因为 Cobra 不适用于下一个版本。(Windows 10) 任何帮助将不胜感激。
最佳答案
正如您所提到的,问题在于原始来源 used by the package不再是有效的 URL。解决这个问题的正确方法是打开一个带有包的拉取请求来更改 URL(我现在已经完成了 here )。作为权宜之计,这里有一个暂时解决此问题的 hacky 方法:
- 执行
Pkg.add("WinRPM")
。这可能会触发与上述相同的警告,请忽略这些。 - 接下来,
使用WinRPM
加载我们添加的包 - 现在,源 URL 从
sources.list
文件(上面链接)读取到全局WinRPM.sources
变量中。我们将编辑此变量的内容以指向新的工作 URL。 (这通常是一个糟糕的想法,直接进入模块的内部并进行更改。)
julia> WinRPM.sources[:] = replace.(WinRPM.sources, "Leap_42.3" => "Leap_15.3")
2-element Vector{String}:
"https://cache.julialang.org/http://download.opensuse.org/repositories/windows:/mingw:/win32/openSUSE_Leap_15.3"
"https://cache.julialang.org/http://download.opensuse.org/repositories/windows:/mingw:/win64/openSUSE_Leap_15.3"
WinRPM.update()
现在应该可以工作,并将内容下载到本地缓存中。
I'm using version 0.6.4 because Cobra does not work on the next versions.
我希望你在这里指的是 Julia 1.6.4,或者堆栈中其他版本的 0.6.4。如果您指的是 Julia 版本 0.6.4,您以后可能会遇到更多问题,并且会发现很难获得对这样一个旧版本的支持。
关于Julia - 如何在 Julia 版本 0.6.4 中更新 WinRPM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70190959/