Julia:包的预编译(precompiling)失败

个人感觉:在 Ubuntu 上,在用 Julia 的时候,没事情还是不要随便更新系统和一些包

Julia 一些包的更新太快,有时候一不小心更新了某个包,就会导致出现各种的问题。

我更新了某个包,然后在预编译的时候,出现了 Failed to precompile 的报错

using DiffEqSensitivity 的时候,出现了 ERROR: UndefVarError: SciMLBase not defined. 的报错,然后无法完成 precompile。

这种情况,有几种尝试的方法:

  1. 首先可以尝试 ]build,或者 ]build SciMLBase,看看能不能完成
  2. 还可以把预编译失败的包先删除(remove)了:例如 ]remove DiffEqSensitivity,然后再重新安装(add):]add DiffEqSensitivity
  3. 如果还是不行,可以使用最终的办法,把之前预编译完成的文件都删除,然后再全部重新预编译。在 Ubuntu 上文件保存的路径为:~/.julia/compiled/ 里面会有对应 Julia 版本的一个文件夹,里面的预编译文件先备份,然后删除,再 using Package 看看,时间会比较长,但是应该能够解决。
上一篇:TIOBE12月榜单:Java重回第二,Python有望四连冠年度语言


下一篇:2021 年 9 月 TIOBE 指数 C# 增长突破 1.2%