个人感觉:在 Ubuntu 上,在用 Julia 的时候,没事情还是不要随便更新系统和一些包
Julia 一些包的更新太快,有时候一不小心更新了某个包,就会导致出现各种的问题。
我更新了某个包,然后在预编译的时候,出现了 Failed to precompile
的报错
在 using DiffEqSensitivity
的时候,出现了 ERROR: UndefVarError: SciMLBase not defined.
的报错,然后无法完成 precompile。
这种情况,有几种尝试的方法:
- 首先可以尝试
]build
,或者]build SciMLBase
,看看能不能完成 - 还可以把预编译失败的包先删除(remove)了:例如
]remove DiffEqSensitivity
,然后再重新安装(add):]add DiffEqSensitivity
- 如果还是不行,可以使用最终的办法,把之前预编译完成的文件都删除,然后再全部重新预编译。在 Ubuntu 上文件保存的路径为:
~/.julia/compiled/
里面会有对应 Julia 版本的一个文件夹,里面的预编译文件先备份,然后删除,再using Package
看看,时间会比较长,但是应该能够解决。