Julia Pkg.installed(“anInvalidPackage”)是否应不返回任何内容或引发错误?

Julia Pkg.installed(“anInvalidPackage”)是否应不返回任何内容或引发错误?,julia,Julia,参考本段: 已安装(包装)→ Void |版本号 If pkg is installed, return the installed version number, otherwise return nothing. 从 Pkg.installed(“anInvalidPackage”)函数应该返回nothing,但它会抛出一个错误: julia> VERSION v"0.5.0" julia> Pkg.installed("anInvalidPackage") ERROR: an

参考本段:

已安装(包装)→ Void |版本号

If pkg is installed, return the installed version number, otherwise return nothing.

Pkg.installed(“anInvalidPackage”)
函数应该返回
nothing
,但它会抛出一个错误:

julia> VERSION
v"0.5.0"
julia> Pkg.installed("anInvalidPackage")
ERROR: anInvalidPackage is not a package (not registered or installed)
 in installed(::String) at .\pkg\entry.jl:123
 in (::Base.Pkg.Dir.##2#3{Array{Any,1},Base.Pkg.Entry.#installed,Tuple{String}})
() at .\pkg\dir.jl:31
 in cd(::Base.Pkg.Dir.##2#3{Array{Any,1},Base.Pkg.Entry.#installed,Tuple{String}
}, ::String) at .\file.jl:48
 in #cd#1 at .\pkg\dir.jl:31
 in installed(::String) at .\pkg\pkg.jl:129

编辑

如果我们看一下base中Pkg模块的源代码,它应该会提供一些线索:

function installed(pkg::AbstractString)
    avail = Read.available(pkg)
    if Read.isinstalled(pkg)
        res = typemin(VersionNumber)
        ### some libgit2 stuff ###
    end
    isempty(avail) && throw(PkgError("$pkg is not a package (not registered or installed)"))
    return nothing # registered but not installed
end
从最后两行可以看出,如果包未注册或安装,Julia将抛出一个错误。但是,如果包已注册但未安装,则不会抛出任何错误,并且不会返回任何内容

所以

但是:


我同意文档应该更清楚地说明这一点……

奇怪的是,它从字符串中删除了“an”…@daycaster打字错误“好吧,沃森,这就省去了那一行查询!”:)
var = Pkg.installed("AMD") # returns nothing for me as I don't have AMD installed
                           # but it is a registered package
 altvar = Pkg.installed("this_is_not_the_name_of_any_package")
 # will throw an error