如何识别阻碍其他软件包更新版本的julia软件包?

时间:2018-04-27 16:41:55

标签: julia packages versioning package-managers

是否有内置的方法来了解哪些依赖项导致其他软件包落后于当前版本?

最近我讨论这个问题: https://github.com/FluxML/Flux.jl/issues/246#issuecomment-384943473

Pkg.update()之后,我希望看到所有当前版本:

Pkg.available("Flux")
14-element Array{VersionNumber,1}:
 v"0.1.0"
 v"0.1.1"
 v"0.2.0"
 v"0.2.1"
 v"0.2.2"
 v"0.3.0"
 v"0.3.1"
 v"0.3.2"
 v"0.3.3"
 v"0.3.4"
 v"0.4.0"
 v"0.4.1"
 v"0.5.0"
 v"0.5.1"

但刚刚能够选择(v"0.5.1"尚未发布):

julia> Pkg.available("Flux")
12-element Array{VersionNumber,1}:
 v"0.1.0"
 v"0.1.1"
 v"0.2.0"
 v"0.2.1"
 v"0.2.2"
 v"0.3.0"
 v"0.3.1"
 v"0.3.2"
 v"0.3.3"
 v"0.3.4"
 v"0.4.0"
 v"0.4.1"

我从一个新的空JULIA_PKGDIR开始,但由于不同的原因,这很烦人:

  • 再次下载所有包
  • 为不在JULIA_PKGDIR中的本地项目的包创建新的符号链接
    • 注意:还可以使用~/.juliarc.jl中的LOAD_PATH变量来加载本地项目。
  • 仍然不知道导致问题的原因

有更简单的方法吗?

2 个答案:

答案 0 :(得分:3)

AFAIK目前还没有完全正确的方法,但在Discourse上发布的脚本可以提供帮助:https://discourse.julialang.org/t/how-to-find-package-preventing-others-from-updating/8235

答案 1 :(得分:1)

Pkg.update("Flux")通常会告诉您哪些软件包阻止了更新。