我更新了某个包,然后在预编译的时候,出现了 Failed to precompile
的报错
在 using DiffEqSensitivity
的时候,出现了 ERROR: UndefVarError: SciMLBase not defined.
的报错,然后无法完成 precompile。
查看报错:
ERROR: LoadError: LoadError: UndefVarError: SciMLBase not defined
Stacktrace:[1] top-level scope at /home/xu/.julia/packages/DiffEqNoiseProcess/9NzQP/src/solve.jl:1[2] include(::Function, ::Module, ::String) at ./Base.jl:380[3] include at ./Base.jl:368 [inlined][4] include(::String) at /home/xu/.julia/packages/DiffEqNoiseProcess/9NzQP/src/DiffEqNoiseProcess.jl:1[5] top-level scope at /home/xu/.julia/packages/DiffEqNoiseProcess/9NzQP/src/DiffEqNoiseProcess.jl:23[6] include(::Function, ::Module, ::String) at ./Base.jl:380[7] include(::Module, ::String) at ./Base.jl:368[8] top-level scope at none:2[9] eval at ./boot.jl:331 [inlined][10] eval(::Expr) at ./client.jl:467[11] top-level scope at ./none:3
in expression starting at /home/strongnine/.julia/packages/DiffEqNoiseProcess/9NzQP/src/solve.jl:1
in expression starting at /home/strongnine/.julia/packages/DiffEqNoiseProcess/9NzQP/src/DiffEqNoiseProcess.jl:23
最后的两句可以看到,是在 .julia/packages/DiffEqNoiseProcess/9NzQP/src/solve.jl
这个文件的第一行出现了问题,而这个报错 UndefVarError: SciMLBase not defined
是因为在没导入包的情况下就使用了这个变量,所以一个可以解决的办法,就是进去这个文件,加上 using SciMLBase
.
因为这个文件是系统的文件,所以我们进入 .julia/packages/DiffEqNoiseProcess/9NzQP/src/
,然后右键在此打开终端,输入 sudo vim solve.jl
,在文件的前面加上 using SciMLBase
,然后按 esc 退出编辑模式,然后按 :wq!
强制保存退出。
再次 using DiffEqSensitivity
就能够预编译成功了。
出现这个问题的原因是因为在预编译的时候 DiffEqNoiseProcess
这个包出现报错,导致的。
一般碰到这种类似的情况,有几种尝试的方法:
]build
,或者 ]build SciMLBase
,看看能不能完成]remove DiffEqSensitivity
,然后再重新安装(add):]add DiffEqSensitivity
~/.julia/compiled/
里面会有对应 Julia 版本的一个文件夹,里面的预编译文件先备份,然后删除,再 using Package
看看,时间会比较长,但是应该能够解决。本文发布于:2024-01-28 09:02:43,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/17064037776300.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |