Compiler errors Julia:错误:LoadError:在加载另一个模块后预编译该模块失败

Compiler errors Julia:错误:LoadError:在加载另一个模块后预编译该模块失败,compiler-errors,julia,Compiler Errors,Julia,我在Julia中使用了Gadfly,然后我添加了包StatsModels和GLM,并在使用Gadfly的行中得到了这个错误: INFO: Precompiling module Gadfly. ERROR: LoadError: LoadError: Stacktrace: [1] AssertionError(::String) at ./coreimg.jl:14 [2] update_valid_age!(::UInt64, ::UInt64, ::Core.Inference.In

我在Julia中使用了
Gadfly
,然后我添加了包
StatsModels
GLM
,并在
使用Gadfly
的行中得到了这个错误:

INFO: Precompiling module Gadfly.
ERROR: LoadError: LoadError: 
Stacktrace:
 [1] AssertionError(::String) at ./coreimg.jl:14
 [2] update_valid_age!(::UInt64, ::UInt64, ::Core.Inference.InferenceState) at ./inference.jl:2353
 [3] add_backedge!(::Core.MethodInstance, ::Core.Inference.InferenceState) at ./inference.jl:2366
 [4] abstract_call_gf_by_type(::Any, ::Any, ::Core.Inference.InferenceState) at ./inference.jl:1421
...
 [217] include(::String) at ./sysimg.jl:14
 [218] include_from_node1(::String) at ./loading.jl:576
 [219] include(::String) at ./sysimg.jl:14
 [220] anonymous at ./<missing>:2fatal: error thrown and no exception handler available.
Base.MethodError(f=typeof(Core.Inference.convert)(), args=(Base.AssertionError, "invalid age range update"), world=0x0000000000000ac5)
rec_backtrace at /Users/osx/buildbot/slave/package_osx64/build/src/stackwalk.c:84
record_backtrace at /Users/osx/buildbot/slave/package_osx64/build/src/task.c:245 [inlined]
jl_throw at /Users/osx/buildbot/slave/package_osx64/build/src/task.c:564
...
jlcall__start_18991 at /Applications/Julia-0.6.app/Contents/Resources/julia/lib/julia/sys.dylib (unknown line)
true_main at /Applications/Julia-0.6.app/Contents/Resources/julia/bin/julia (unknown line)
main at /Applications/Julia-0.6.app/Contents/Resources/julia/bin/julia (unknown line)
ERROR: LoadError: Failed to precompile Gadfly to /Users/mmorin/.julia/lib/v0.6/Gadfly.ji.
Stacktrace:
 [1] compilecache(::String) at ./loading.jl:710
 [2] _require(::Symbol) at ./loading.jl:497
 [3] require(::Symbol) at ./loading.jl:405
 [4] include_from_node1(::String) at ./loading.jl:576
 [5] include(::String) at ./sysimg.jl:14
while loading /Users/mmorin/RED/Figure1.jl, in expression starting on line 3
INFO:预编译模块Gadfly。
错误:加载错误:加载错误:
堆栈跟踪:
[1] AssertionError(::字符串)位于./coreimg.jl:14
[2] 更新有效年龄!(::UInt64,::UInt64,::Core.Inference.推断状态)位于./Inference.jl:2353
[3] 添加你的后缘!(::Core.MethodInstance,::Core.Inference.推断状态)位于./Inference.jl:2366
[4] 在./Inference.jl:1421按类型(::Any,::Any,::Core.Inference.InferenceState)抽象调用
...
[217]在./sysimg.jl:14处包含(::字符串)
[218]在./loading.jl:576处包含来自节点1(::字符串)的内容
[219]在./sysimg.jl:14处包含(::字符串)
[220]匿名地址。/:2fatal:引发错误,没有可用的异常处理程序。
Base.MethodError(f=typeof(Core.interference.convert)(),args=(Base.AssertionError,“无效年龄范围更新”),world=0x0000000000000ac5)
rec_backtrace at/Users/osx/buildbot/slave/package_osx64/build/src/stackwalk.c:84
记录在/Users/osx/buildbot/slave/package\u osx64/build/src/task.c:245[内联]
jl_抛出/Users/osx/buildbot/slave/package_osx64/build/src/task.c:564
...
jlcall__start_18991 at/Applications/Julia-0.6.app/Contents/Resources/Julia/lib/Julia/sys.dylib(未知行)
true_main at/Applications/Julia-0.6.app/Contents/Resources/Julia/bin/Julia(未知行)
main at/Applications/Julia-0.6.app/Contents/Resources/Julia/bin/Julia(未知行)
错误:LoadError:未能将Gadfly预编译到/Users/mmorin/.julia/lib/v0.6/Gadfly.ji。
堆栈跟踪:
[1] compilecache(::字符串)位于./loading.jl:710
[2] _要求(::符号)在./loading.jl:497
[3] 在./loading.jl:405处需要(::符号)
[4] 在./loading.jl:576中包含来自节点1(::字符串)的
[5] 在./sysimg.jl:14处包含(::字符串)
在从第3行开始的表达式中加载/Users/mmorin/RED/Figure1.jl时

整个消息有400行,stacktrace有200层,因此为了简洁起见,我粘贴了最相关的位。我重新启动了Julia,用
Pkg.rm()
删除了
StatsModels
GLM
,然后又删除并添加了
Gadfly
,得到了完全相同的错误。我如何修复它?

经过几个小时的搜索和尝试,我与一位朱莉娅专家交谈。这看起来像是编译器错误。虽然不希望重置所有Julia软件包,但唯一的解决方案是将
~/.Julia
移动到备份:

mv ~/.julia ~/.julia_backup
然后重新启动Julia并运行

Pkg.add.(["Gadfly", "StatsModels", "GLM"])
using Gadfly, StatsModels, GLM