Base.compilecache may be more reliable here.
On Thursday, February 18, 2016 at 2:41:39 AM UTC-8, Oliver Schulz wrote:
>
> The best I've come up with so far is
>
> for pkg in vcat(["IJulia"], collect(keys(Pkg.installed())))
> if !isdefined(Symbol(pkg))
> info("Importing $(pkg)...")
> try (@eval import $(Symbol(pkg))) catch end
> end
> end
>
> I had to manually add IJulia because it's installed site-wide (in my
> case). The try/catch prevents an abort if precompilation of a package fails
> (e.g. because Julia has to be reloaded, as happens with some packages). I
> found that I usually need to run this at least twice, from a clean state
> (empty ".julia/lib").
>
>
>
>
> On Wednesday, February 17, 2016 at 12:58:10 PM UTC+1, Oliver Schulz wrote:
>>
>> Is there an easy way to precompile all installed packages, e.g. after a
>> `Pkg.update()`?
>>
>> This would come in handy when using a cluster of Julia machines (using an
>> shared home dir on a network filesystem), to ensure precompilation is done
>> before all machines load (and start precompiling) packages (e.g. from a
>> shared home directory via a network filesystem).
>>
>> Also, as precompilation of many packages can take quite a bit of time, it
>> would be nice to be able to choose when it happens (i.e. right now, instead
>> later when I may want to give a tutorial or so ;-) ).
>>
>> Sorry if this is somewhere in the docs, I didn't find anything about it.
>> I'd love to be able to just do `Pkg.update(precompile = true)` or so.
>>
>>
>> Cheers,
>>
>> Oliver
>>
>>