我有一个 julia 包,比如我从 git 安装的“Foo.jl”。该软件包尚未在 Pkg 注册表中注册,并且具有依赖关系,例如“X.jl”。当我运行 using X
时,julia 会引发错误,指出未安装“X”。但是运行 Foo 的函数我没有看到这样的错误。
有没有办法解决这个问题?如何让安装 Foo
让我使用它的依赖项而不单独安装它们?
答案 0 :(得分:2)
为了能够在 Julia 中使用包,您需要添加它们。例如,如果您添加了 Plots 包,那么这还将添加 Plots 依赖项中的其他几个包。但是,除非您将它们明确添加到您的环境中,否则您将无法使用它们。
例如,如果您添加 Plots.jl
,这将添加许多依赖项,例如Tables
包,但是除非您将其添加到您的环境中,否则您将无法执行 using Tables
。但是,Plots 仍将使用 Tables 包。
也就是说,在 Julia 中添加包的方法有多种(完整信息参见 Documentation of Pkg.jl)。我将它们分为注册包、未注册包和不在github上的未注册包。
要使用 Pkg,您首先必须通过以下方式导入它:
using Pkg
否则你也可以在 REPL 中使用它的功能,使用右方括号 ]
然后是命令(例如 ]add Example
)
注册包:
Pkg.add("Example")
github 上未注册的包:
Pkg.add(url="https://github.com/fredrikekre/ImportMacros.jl")
未注册的本地包:
Pkg.add(path="path/to/package")
答案 1 :(得分:0)
你可以试试using Foo.X
。
示例:OhMyREPL.jl 取决于 Crayons.jl。
julia> using OhMyREPL
julia> using OhMyREPL.Crayons
julia> crayon"0000ff" # @crayon_str is exported by Crayons.jl
\e[38;2;0;0;255m