Julia - 如何在 Julia 版本 0.6.4 中更新 WinRPM
Julia - how to update WinRPM in julia version 0.6.4
我是 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
在这些错误之后,我检查了 link 并且我发现来源已经不存在了。
那么我 运行 这个命令如上所述:
WinRPM.update()
但是它抛出了这个错误:
ERROR: UndefVarError: WinRPM not defined
请帮助我将 COBRA 添加到 Julia。我使用的是 0.6.4 版,因为 Cobra 不能在下一个版本上运行。(Windows 10)
任何帮助将不胜感激。
正如您所提到的,问题在于原始来源 used by the package aren't valid URLs anymore. The proper way to solve this is to open a pull request with the package to change the URLs (which I've now done here)。作为权宜之计,这里有一个暂时解决此问题的 hacky 方法:
- 做一个
Pkg.add("WinRPM")
。这可能会触发与上面相同的警告,请忽略这些。
- 接下来,
using 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 的新手,我想使用 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
在这些错误之后,我检查了 link 并且我发现来源已经不存在了。 那么我 运行 这个命令如上所述:
WinRPM.update()
但是它抛出了这个错误:
ERROR: UndefVarError: WinRPM not defined
请帮助我将 COBRA 添加到 Julia。我使用的是 0.6.4 版,因为 Cobra 不能在下一个版本上运行。(Windows 10) 任何帮助将不胜感激。
正如您所提到的,问题在于原始来源 used by the package aren't valid URLs anymore. The proper way to solve this is to open a pull request with the package to change the URLs (which I've now done here)。作为权宜之计,这里有一个暂时解决此问题的 hacky 方法:
- 做一个
Pkg.add("WinRPM")
。这可能会触发与上面相同的警告,请忽略这些。 - 接下来,
using 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,您以后可能会遇到更多问题,并且发现很难获得对这样一个旧版本的支持。