无法将 DifferentialEquation.jl 添加到 Julia 1.7.0

Can't add DifferentialEquation.jl to Julia 1.7.0

我最近从 Julia 1.6.3 升级到了 1.7.0。我将 ManifestProject.toml 文件复制到新的 environments 文件夹并更新了根据说明将清单文件更新为较新版本。一切正常。但是,当我稍后尝试添加 DifferentialEquations.jl 时,出现了这个错误:

(@v1.7) pkg> precompile
Precompiling project...
✗ DiffEqNoiseProcess
✗ DiffEqFinancial
✗ StochasticDiffEq
✗ MultiScaleArrays
✗ DifferentialEquations
        
0 dependencies successfully precompiled in 30 seconds (252 already precompiled)
ERROR: The following 2 direct dependencies failed to precompile:
DiffEqNoiseProcess [77a26b50-5914-5dd7-bc55-306e6241c503] 
Failed to precompile DiffEqNoiseProcess [77a26b50-5914-5dd7-bc55-306e6241c503] to C:\Users\*user*\.julia\compiled\v1.7\DiffEqNoiseProcess\jl_F949.tmp.

WARNING: Method definition Type##kw(Any, Type{Base.MPFR.BigFloat}, Base.Irrational{:fourinvπ}) in module StatsFuns at irrationals.jl:182 overwritten in module IrrationalConstants on the same line (check for duplicate calls to `include`).
** incremental compilation may be fatally broken for this module **

WARNING: Method definition Type##kw(Any, Type{Base.MPFR.BigFloat}, Base.Irrational{:twoinvπ}) in module StatsFuns at irrationals.jl:182 overwritten in module IrrationalConstants on the same line (check for duplicate calls to `include`).
** incremental compilation may be fatally broken for this module **

...

它继续出现类似的警告一段时间,最后我明白了:

ERROR: LoadError: UndefVarError: SciMLBase not defined
Stacktrace:
[1] top-level scope
@ C:\Users\manfr\.julia\packages\DiffEqNoiseProcessNzQP\src\solve.jl:1
[2] include(mod::Module, _path::String)
@ Base .\Base.jl:418
[3] include(x::String)
@ DiffEqNoiseProcess C:\Users\manfr\.julia\packages\DiffEqNoiseProcessNzQP\src\DiffEqNoiseProcess.jl:1
[4] top-level scope
@ C:\Users\manfr\.julia\packages\DiffEqNoiseProcessNzQP\src\DiffEqNoiseProcess.jl:23
[5] include
@ .\Base.jl:418 [inlined]
[6] include_package_for_output(pkg::Base.PkgId, input::String, depot_path::Vector{String},
dl_load_path::Vector{String}, load_path::Vector{String},
concrete_deps::Vector{Pair{Base.PkgId, UInt64}}, source::String)
@ Base .\loading.jl:1318
[7] top-level scope
@ none:1
[8] eval
@ .\boot.jl:373 [inlined]
[9] eval(x::Expr)
@ Base.MainInclude .\client.jl:453
[10] top-level scope
@ none:1
in expression starting at
C:\Users\manfr\.julia\packages\DiffEqNoiseProcessNzQP\src\solve.jl:1
in expression starting at C:\Users\manfr\.julia\packages\DiffEqNoiseProcessNzQP\src\DiffEqNoiseProcess.jl:1
ERROR: LoadError: Failed to precompile DiffEqNoiseProcess [77a26b50-5914-5dd7-bc55-
306e6241c503] to C:\Users\manfr\.julia\compiled\v1.7\DiffEqNoiseProcess\jl_5956.tmp.
Stacktrace:
[1] error(s::String)
@ Base .\error.jl:33
[2] compilecache(pkg::Base.PkgId, path::String, internal_stderr::IO, internal_stdout::IO,
ignore_loaded_modules::Bool)
@ Base .\loading.jl:1466
[3] compilecache(pkg::Base.PkgId, path::String)
@ Base .\loading.jl:1410
[4] _require(pkg::Base.PkgId)
@ Base .\loading.jl:1120
[5] require(uuidkey::Base.PkgId)
@ Base .\loading.jl:1013
[6] require(into::Module, mod::Symbol)
@ Base .\loading.jl:997
[7] include 
@ .\Base.jl:418 [inlined]
[8] include_package_for_output(pkg::Base.PkgId, input::String, depot_path::Vector{String},
dl_load_path::Vector{String}, load_path::Vector{String},
concrete_deps::Vector{Pair{Base.PkgId, UInt64}}, source::Nothing)
@ Base .\loading.jl:1318
[9] top-level scope
@ none:1
[10] eval
@ .\boot.jl:373 [inlined]
[11] eval(x::Expr)
@ Base.MainInclude .\client.jl:453
[12] top-level scope
@ none:1
in expression starting at
C:\Users\manfr\.julia\packages\DifferentialEquations\el96s\src\DifferentialEquations.jl:1   

我试过构建、预编译、删除包文件夹并重新添加它,但似乎没有任何效果。我还尝试将该包添加到我的 Julia 1.6.3 安装中,效果很好。有谁知道可能是什么问题?

清单是特定于版本的(因为包版本可以是特定于 Julia 版本的)。在没有清单的情况下重新解析您的包。