Julia - 如何在 Julia 版本 0.6.4 中更新 WinRPM

标签 julia cobra

我是 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/

相关文章:

julia - 如何在参数类型上定义参数类型?

julia - 如何在 Julia 中使用 for 循环定义 JuMP 变量?

java - 如何使用 Cobra/Lobo HTML 渲染器访问 DOM 节点的 CSS 属性

go - 如何提取注册信息?

julia - 将 Dataframe 中的列从字符串转换为 Int

parallel-processing - 如何并行计算成对距离矩阵?

arrays - 具有多次调度的 Array 的 Array 的 Julia 参数函数

使用 Cobra 进行 Java HTML 渲染

go - 您可以为 Cobra 中的标志指定可选参数吗?