JuliaのPackageCompilerとVSCodeでちょっとハマったメモ

Qiitaに書いた記事をこちらにも載せておきます。内容は全く同じです。

何があったか

PackageCompiler.jlを使って OhMyREPL.jlを使ったときの起動スピードを早くする、というのがPackageCompiler.jlの ドキュメント内で紹介されている。

ただ、これをそのままやるとVSCodeのJulia拡張が動かなくなってしまった。replace_default=trueを指定することでデフォルトのsystem imageが置き換えられてしまったのが原因のようだ。julia-vscodeにも issueが立っていた。

対策

デフォルトのsystem imageをもとに戻して、PackageCompilerで作った新しいimageはjulia -J/path/to/compiled/imageで使うことにしよう。

もとのsystem imageは自動でバックアップされているのでPackageCompiler.restore_default_sysimage()を使えば勝手に戻してくれるが、これだとコンパイルして作ったimageが消えてしまう気がするので、手動で戻す。

using PackageCompiler
PackageCompiler.backup_default_sysimg_path() # -> もともとのimageのpath
PackageCompiler.default_sysimg_path() # -> PackageCompilerによって置き換えられたimageのpath

でpathを取得していい感じに置き換えて終わり。最後に普段使っているshellでjulia -J/path/to/compiled/imageのaliasを貼っておいた。

Avatar
Hayate Nakano
Ph.D. student

My research interests include tensor-network methods, quantum many-body physics and non-equilibrium dynamics.