# Julia in vscode keeps precompiling compiled packages

**URL:** <https://discourse.julialang.org/t/julia-in-vscode-keeps-precompiling-compiled-packages/117998>\
**Category:** General Usage\
**Tags:** precompilation, vscode\
**Created:** [August 9, 2024, 12:45pm UTC](https://discourse.julialang.org/t/julia-in-vscode-keeps-precompiling-compiled-packages/117998 "2024-08-09T12:45:18Z")\
**Posts on this page:** 12\
**Page:** 1

<div class="post-metadata">

**Author:** ![maxfreu](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/maxfreu/32/17468_2.png) [@maxfreu](https://discourse.julialang.org/u/maxfreu)\
**Post date:** [August 9, 2024, 12:45pm UTC](https://discourse.julialang.org/t/julia-in-vscode-keeps-precompiling-compiled-packages/117998/1 "2024-08-09T12:45:18Z")

</div>

Hi!  
I have a serious issue that currently keeps me from redoing the figures for my publication. I’m working with vscode on our cluster head node with julia 1.10.4. When I open vscode and import / use modules at the start of a script, they are always recompiled, including all of their dependencies, again and again for every package imported. So some jlls even get precompiled several times. When I use the repl everything is fine. I tried to inspect the ENV var, but couldn’t find any obvious errors. Can you point me a way out of precompilation hell? I don’t know what I changed that made this mess happen, apart maybe from updating packages.

> **environment variables vscode**
>
> ```julia
> "CONDA_SHLVL" => "1"
> "BENTOML_HOME" => "/data_hdd/LLM-stuff/bentoml"
> "LD_LIBRARY_PATH" => "/cm/shared/apps/slurm/current/lib64/slurm:/cm/shared/apps/slurm/current/lib64"
> "CONDA_EXE" => "/opt/miniconda/bin/conda"
> "LC_MEASUREMENT" => "de_DE.UTF-8"
> "GDAL_DATA" => "/opt/miniconda/share/gdal"
> "SSH_CONNECTION" => "134.76.2.248 56126 134.76.192.155 22"
> "LC_PAPER" => "de_DE.UTF-8"
> "LANG" => "en_US.UTF-8"
> "HISTCONTROL" => "ignoredups"
> "DISPLAY" => "localhost:11.0"
> "HOSTNAME" => "awf-cluster"
> "PATH_modshare" => "/usr/bin:1:/usr/local/bin:1:/cm/shared/apps/slurm/current/bin:1:/cm/local/apps/environment-modules/4.5.3//bin:1:/opt/dell/srvadmin/bin:1:/cm/shared/apps/slurm/current/sbin:1:/cm/shared/apps/pycharm/2023-3-4/bin:1:/sbin:1:/usr/sbin:1:/home/max/.local/bin:1:/home/max/bin:1:/cm/local/apps/environment-modules/4.5.3/bin:1:/usr/local/sbin:1:/cm/shared/apps/julia/julia-1.10.4/bin:1"
> "LOADEDMODULES_modshare" => "julia/1.10.4:1:slurm/awf-slurm/21.08.8:1:pycharm/2023-3-4:1"
> "CPL_ZIP_ENCODING" => "UTF-8"
> "CONDA_PREFIX" => "/opt/miniconda"
> "CPATH_modshare" => "/cm/shared/apps/slurm/current/include:1"
> "S_COLORS" => "auto"
> "_CE_M" => ""
> "which_declare" => "declare -f"
> "LD_LIBRARY_PATH_modshare" => "/cm/shared/apps/slurm/current/lib64:1:/cm/shared/apps/slurm/current/lib64/slurm:1"
> "PROJ_LIB" => "/opt/miniconda/share/proj"
> "XDG_SESSION_ID" => "75972"
> "MODULES_CMD" => "/cm/local/apps/environment-modules/4.5.3/libexec/modulecmd.tcl"
> "LIBRARY_PATH_modshare" => "/cm/shared/apps/slurm/current/lib64:1:/cm/shared/apps/slurm/current/lib64/slurm:1"
> "USER" => "max"
> "MODULES_SET_SHELL_STARTUP" => "0"
> "PWD" => "/home/max/dr/extract_sentinel_pixels"
> "ENABLE_LMOD" => "0"
> "SSH_ASKPASS" => "/usr/libexec/openssh/gnome-ssh-askpass"
> "HOME" => "/home/max"
> "CONDA_PYTHON_EXE" => "/opt/miniconda/bin/python"
> "SSH_CLIENT" => "134.76.2.248 56126 22"
> "CPATH" => "/cm/shared/apps/slurm/current/include"
> "HF_DATASETS_CACHE" => "/data_hdd/LLM-stuff/huggingface"
> "XDG_DATA_DIRS" => "/home/max/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share"
> "SSL_CERT_FILE" => "/etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem"
> "_LMFILES__modshare" => "/cm/shared/modulefiles/julia/1.10.4:1:/cm/local/modulefiles/slurm/awf-slurm/21.08.8:1:/cm/shared/modulefiles/pycharm/2023-3-4:1"
> "_CE_CONDA" => ""
> "LIBRARY_PATH" => "/cm/shared/apps/slurm/current/lib64/slurm:/cm/shared/apps/slurm/current/lib64"
> "SLURM_CONF" => "/cm/shared/apps/slurm/var/etc/awf-slurm/slurm.conf"
> "LOADEDMODULES" => "pycharm/2023-3-4:slurm/awf-slurm/21.08.8:julia/1.10.4"
> "CONDA_PROMPT_MODIFIER" => "(base) "
> "MAIL" => "/var/spool/mail/max"
> "CMD_WLM_CLUSTER_NAME" => "awf-slurm"
> "SHELL" => "/bin/bash"
> "TC_LIB_DIR" => "/usr/lib64/tc"
> "MANPATH_modshare" => "/usr/local/share/man:1:/cm/local/apps/environment-modules/4.5.3//share/man:1:/cm/local/apps/environment-modules/current/share/man:1:/usr/share/man:1:/cm/shared/apps/slurm/current/man:1"
> "SHLVL" => "4"
> "MANPATH" => "/cm/shared/apps/slurm/current/man:/cm/local/apps/environment-modules/4.5.3//share/man:/usr/local/share/man:/usr/share/man:/cm/local/apps/environment-modules/current/share/man:/cm/local/apps/environment-modules/current/share/man"
> "GDK_BACKEND" => "x11"
> "MODULEPATH" => "/cm/local/modulefiles:/cm/shared/modulefiles"
> "SSL_CERT_DIR" => "/etc/pki/tls/certs"
> "LOGNAME" => "max"
> "DBUS_SESSION_BUS_ADDRESS" => "unix:abstract=/tmp/dbus-bReFWpFTtM,guid=dd2e71804307307efafc873a66b60a65"
> "XDG_RUNTIME_DIR" => "/run/user/1001"
> "PATH" => "/home/max/.vscode-server/cli/servers/Stable-b1c0a14de1414fcdaa400695b4db1c0799bc3124/server/bin/remote-cli:/cm/local/apps/environment-modules/4.5.3/bin:/home/max/.cargo/bin:/opt/miniconda/bin:/opt/miniconda/condabin:/cm/shared/apps/julia/julia-1.10.4/bin:/cm/shared/apps/slurm/current/sbin:/cm/shared/apps/slurm/current/bin:/cm/shared/apps/pycharm/2023-3-4/bin:/home/max/.local/bin:/home/max/bin:/cm/local/apps/environment-modules/4.5.3/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/usr/sbin:/cm/local/apps/environment-modules/4.5.3/bin:/opt/dell/srvadmin/bin:/home/max/.fzf/bin"
> "_LMFILES_" => "/cm/shared/modulefiles/pycharm/2023-3-4:/cm/local/modulefiles/slurm/awf-slurm/21.08.8:/cm/shared/modulefiles/julia/1.10.4"
> "MODULESHOME" => "/cm/local/apps/environment-modules/4.5.3/"
> "CONDA_DEFAULT_ENV" => "base"
> "HISTSIZE" => "1000"
> "LESSOPEN" => "||/usr/bin/lesspipe.sh %s"
> "BASH_FUNC_which%%" => "() { ( alias;\n eval \${which_declare} ) | /usr/bin/which --tty-only --read-alias --read-functions --show-tilde --show-dot \"\$@\"\n}"
> "BASH_FUNC_module%%" => "() { unset _mlshdbg;\n if [\"\${MODULES_SILENT_SHELL_DEBUG:-0}\" = '1']; then\n case \"\$-\" in \n *v*x*)\n set +vx;\n _mlshdbg='vx'\n ;;\n *v*)\n set +v;\n _mlshdbg='v'\n ;;\n *x*)\n set +x;\n _mlshdbg='x'\n ;;\n *)\n _mlshdbg=''\n ;;\n esac;\n fi;\n unset _mlre _mlIFS;\n if [-n \"\${IFS+x}\"]; then\n _mlIFS=\$IFS;\n fi;\n IFS=' ';\n for _mlv in \${MODULES_RUN_QUARANTINE:-};\n do\n if [\"\${_mlv}\" = \"\${_mlv##*[!A-Za-z0-9_]}\" -a \"\${_mlv}\" = \"\${_mlv#[0-9]}\" ]; then\n if [-n \"`eval 'echo \${'\$_mlv'+x}'`\"]; then\n _mlre=\"\${_mlre:-}\${_mlv}_modquar='`eval 'echo \${'\$_mlv'}'`' \";\n fi;\n _mlrv=\"MODULES_RUNENV_\${_mlv}\";\n _mlre=\"\${_mlre:-}\${_mlv}='`eval 'echo \${'\$_mlrv':-}'`' \";\n fi;\n done;\n if [-n \"\${_mlre:-}\"]; then\n eval `eval \${_mlre} /usr/bin/tclsh /cm/local/apps/environment-modules/4.5.3/libexec/modulecmd.tcl bash '\"\$@\"'`;\n else\n eval `/usr/bin/tclsh /cm/local/apps/environment-modules/4.5.3/libexec/modulecmd.tcl bash \"\$@\"`;\n fi;\n _mlstatus=\$?;\n if [-n \"\${_mlIFS+x}\"]; then\n IFS=\$_mlIFS;\n else\n unset IFS;\n fi;\n unset _mlre _mlv _mlrv _mlIFS;\n if [-n \"\${_mlshdbg:-}\"]; then\n set -\$_mlshdbg;\n fi;\n unset _mlshdbg;\n return \$_mlstatus\n}"
> "BASH_FUNC_switchml%%" => "() { typeset swfound=1;\n if [\"\${MODULES_USE_COMPAT_VERSION:-0}\" = '1']; then\n typeset swname='main';\n if [-e /cm/local/apps/environment-modules/4.5.3//libexec/modulecmd.tcl]; then\n typeset swfound=0;\n unset MODULES_USE_COMPAT_VERSION;\n fi;\n else\n typeset swname='compatibility';\n if [-e /cm/local/apps/environment-modules/4.5.3//libexec/modulecmd-compat]; then\n typeset swfound=0;\n MODULES_USE_COMPAT_VERSION=1;\n export MODULES_USE_COMPAT_VERSION;\n fi;\n fi;\n if [\$swfound -eq 0]; then\n echo \"Switching to Modules \$swname version\";\n source /cm/local/apps/environment-modules/4.5.3//init/bash;\n else\n echo \"Cannot switch to Modules \$swname version, command not found\";\n return 1;\n fi\n}"
> "BASH_FUNC_ml%%" => "() { module ml \"\$@\"\n}"
> "_" => "/home/max/.vscode-server/cli/servers/Stable-b1c0a14de1414fcdaa400695b4db1c0799bc3124/server/node"
> "BROWSER" => "/home/max/.vscode-server/cli/servers/Stable-b1c0a14de1414fcdaa400695b4db1c0799bc3124/server/bin/helpers/browser.sh"
> "JULIA_EDITOR" => "code"
> "JULIA_NUM_THREADS" => "4"
> "JULIA_PKG_SERVER" => "pkg.julialang.org"
> "TERM_PROGRAM" => "vscode"
> "TERM_PROGRAM_VERSION" => "1.92.0"
> "COLORTERM" => "truecolor"
> "GIT_ASKPASS" => "/home/max/.vscode-server/cli/servers/Stable-b1c0a14de1414fcdaa400695b4db1c0799bc3124/server/extensions/git/dist/askpass.sh"
> "VSCODE_GIT_ASKPASS_NODE" => "/home/max/.vscode-server/cli/servers/Stable-b1c0a14de1414fcdaa400695b4db1c0799bc3124/server/node"
> "VSCODE_GIT_ASKPASS_EXTRA_ARGS" => ""
> "VSCODE_GIT_ASKPASS_MAIN" => "/home/max/.vscode-server/cli/servers/Stable-b1c0a14de1414fcdaa400695b4db1c0799bc3124/server/extensions/git/dist/askpass-main.js"
> "VSCODE_GIT_IPC_HANDLE" => "/run/user/1001/vscode-git-1e6fd55362.sock"
> "VSCODE_IPC_HOOK_CLI" => "/run/user/1001/vscode-ipc-fc7d7dc3-ca98-4704-89b8-7d03bfea3660.sock"
> "TERM" => "xterm-256color"
> "OPENBLAS_MAIN_FREE" => "1"
> "OPENBLAS_DEFAULT_NUM_THREADS" => "1"
> "LOAD_PATH" => "/home/max/projects"
> 
> ```

> **environment variables repl**
>
> ```julia
> "CONDA_SHLVL" => "1"
> "BENTOML_HOME" => "/data_hdd/LLM-stuff/bentoml"
> "LD_LIBRARY_PATH" => "/cm/shared/apps/slurm/current/lib64/slurm:/cm/shared/apps/slurm/current/lib64"
> "LS_COLORS" => "rs=0:di=38;5;33:ln=38;5;51:mh=00:pi=40;38;5;11:so=38;5;13:do=38;5;5:bd=48;5;232;38;5;11:cd=48;5;232;38;5;3:or=48;5;232;38;5;9:mi=01;05;37;41:su=48;5;196;38;5;15:sg=48;5;11;38;5;16:ca=48;5;196;38;5;226:tw=48;5;10;38;5;16:ow=48;5;10;38;5;21:st=48;5;21;38;5;15:ex=38;5;40:*.tar=38;5;9:*.tgz=38;5;9:*.arc=38;5;9:*.arj=38;5;9:*.taz=38;5;9:*.lha=38;5;9:*.lz4=38;5;9:*.lzh=38;5;9:*.lzma=38;5;9:*.tlz=38;5;9:*.txz=38;5;9:*.tzo=38;5;9:*.t7z=38;5;9:*.zip=38;5;9:*.z=38;5;9:*.dz=38;5;9:*.gz=38;5;9:*.lrz=38;5;9:*.lz=38;5;9:*.lzo=38;5;9:*.xz=38;5;9:*.zst=38;5;9:*.tzst=38;5;9:*.bz2=38;5;9:*.bz=38;5;9:*.tbz=38;5;9:*.tbz2=38;5;9:*.tz=38;5;9:*.deb=38;5;9:*.rpm=38;5;9:*.jar=38;5;9:*.war=38;5;9:*.ear=38;5;9:*.sar=38;5;9:*.rar=38;5;9:*.alz=38;5;9:*.ace=38;5;9:*.zoo=38;5;9:*.cpio=38;5;9:*.7z=38;5;9:*.rz=38;5;9:*.cab=38;5;9:*.wim=38;5;9:*.swm=38;5;9:*.dwm=38;5;9:*.esd=38;5;9:*.jpg=38;5;13:*.jpeg=38;5;13:*.mjpg=38;5;13:*.mjpeg=38;5;13:*.gif=38;5;13:*.bmp=38;5;13:*.pbm=38;5;13:*.pgm=38;5;13:*.ppm=38;5;13:*.tga=38;5;13:*.xbm=38;5;13:*.xpm=38;5;13:*.tif=38;5;13:*.tiff=38;5;13:*.png=38;5;13:*.svg=38;5;13:*.svgz=38;5;13:*.mng=38;5;13:*.pcx=38;5;13:*.mov=38;5;13:*.mpg=38;5;13:*.mpeg=38;5;13:*.m2v=38;5;13:*.mkv=38;5;13:*.webm=38;5;13:*.ogm=38;5;13:*.mp4=38;5;13:*.m4v=38;5;13:*.mp4v=38;5;13:*.vob=38;5;13:*.qt=38;5;13:*.nuv=38;5;13:*.wmv=38;5;13:*.asf=38;5;13:*.rm=38;5;13:*.rmvb=38;5;13:*.flc=38;5;13:*.avi=38;5;13:*.fli=38;5;13:*.flv=38;5;13:*.gl=38;5;13:*.dl=38;5;13:*.xcf=38;5;13:*.xwd=38;5;13:*.yuv=38;5;13:*.cgm=38;5;13:*.emf=38;5;13:*.ogv=38;5;13:*.ogx=38;5;13:*.aac=38;5;45:*.au=38;5;45:*.flac=38;5;45:*.m4a=38;5;45:*.mid=38;5;45:*.midi=38;5;45:*.mka=38;5;45:*.mp3=38;5;45:*.mpc=38;5;45:*.ogg=38;5;45:*.ra=38;5;45:*.wav=38;5;45:*.oga=38;5;45:*.opus=38;5;45:*.spx=38;5;45:*.xspf=38;5;45:"
> "CONDA_EXE" => "/opt/miniconda/bin/conda"
> "LC_MEASUREMENT" => "de_DE.UTF-8"
> "GDAL_DATA" => "/opt/miniconda/share/gdal"
> "SSH_CONNECTION" => "134.76.2.248 51892 134.76.192.155 22"
> "LC_PAPER" => "de_DE.UTF-8"
> "LANG" => "en_US.UTF-8"
> "HISTCONTROL" => "ignoredups"
> "DISPLAY" => "localhost:10.0"
> "HOSTNAME" => "awf-cluster"
> "PATH_modshare" => "/usr/bin:1:/usr/local/bin:1:/cm/shared/apps/slurm/current/bin:1:/cm/local/apps/environment-modules/4.5.3//bin:1:/opt/dell/srvadmin/bin:1:/cm/shared/apps/slurm/current/sbin:1:/cm/shared/apps/pycharm/2023-3-4/bin:1:/sbin:1:/usr/sbin:1:/home/max/.local/bin:1:/home/max/bin:1:/cm/local/apps/environment-modules/4.5.3/bin:1:/usr/local/sbin:1:/cm/shared/apps/julia/julia-1.10.4/bin:1"
> "LOADEDMODULES_modshare" => "julia/1.10.4:1:slurm/awf-slurm/21.08.8:1:pycharm/2023-3-4:1"
> "CPL_ZIP_ENCODING" => "UTF-8"
> "CONDA_PREFIX" => "/opt/miniconda"
> "CPATH_modshare" => "/cm/shared/apps/slurm/current/include:1"
> "S_COLORS" => "auto"
> "_CE_M" => ""
> "which_declare" => "declare -f"
> "LD_LIBRARY_PATH_modshare" => "/cm/shared/apps/slurm/current/lib64:1:/cm/shared/apps/slurm/current/lib64/slurm:1"
> "PROJ_LIB" => "/opt/miniconda/share/proj"
> "XDG_SESSION_ID" => "75983"
> "MODULES_CMD" => "/cm/local/apps/environment-modules/4.5.3/libexec/modulecmd.tcl"
> "LIBRARY_PATH_modshare" => "/cm/shared/apps/slurm/current/lib64:1:/cm/shared/apps/slurm/current/lib64/slurm:1"
> "USER" => "max"
> "MODULES_SET_SHELL_STARTUP" => "0"
> "PWD" => "/home/max/dr/extract_sentinel_pixels"
> "ENABLE_LMOD" => "0"
> "SSH_ASKPASS" => "/usr/libexec/openssh/gnome-ssh-askpass"
> "HOME" => "/home/max"
> "CONDA_PYTHON_EXE" => "/opt/miniconda/bin/python"
> "SSH_CLIENT" => "134.76.2.248 51892 22"
> "CPATH" => "/cm/shared/apps/slurm/current/include"
> "HF_DATASETS_CACHE" => "/data_hdd/LLM-stuff/huggingface"
> "XDG_DATA_DIRS" => "/home/max/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share"
> "_LMFILES__modshare" => "/cm/shared/modulefiles/julia/1.10.4:1:/cm/local/modulefiles/slurm/awf-slurm/21.08.8:1:/cm/shared/modulefiles/pycharm/2023-3-4:1"
> "_CE_CONDA" => ""
> "LIBRARY_PATH" => "/cm/shared/apps/slurm/current/lib64/slurm:/cm/shared/apps/slurm/current/lib64"
> "SLURM_CONF" => "/cm/shared/apps/slurm/var/etc/awf-slurm/slurm.conf"
> "LOADEDMODULES" => "pycharm/2023-3-4:slurm/awf-slurm/21.08.8:julia/1.10.4"
> "CONDA_PROMPT_MODIFIER" => "(base) "
> "SSH_TTY" => "/dev/pts/7"
> "MAIL" => "/var/spool/mail/max"
> "CMD_WLM_CLUSTER_NAME" => "awf-slurm"
> "TERM" => "xterm-256color"
> "SHELL" => "/bin/bash"
> "TC_LIB_DIR" => "/usr/lib64/tc"
> "MANPATH_modshare" => "/usr/local/share/man:1:/cm/local/apps/environment-modules/4.5.3//share/man:1:/cm/local/apps/environment-modules/current/share/man:1:/usr/share/man:1:/cm/shared/apps/slurm/current/man:1"
> "SHLVL" => "1"
> "MANPATH" => "/cm/shared/apps/slurm/current/man:/cm/local/apps/environment-modules/4.5.3//share/man:/usr/local/share/man:/usr/share/man:/cm/local/apps/environment-modules/current/share/man"
> "GDK_BACKEND" => "x11"
> "MODULEPATH" => "/cm/local/modulefiles:/cm/shared/modulefiles"
> "LOGNAME" => "max"
> "DBUS_SESSION_BUS_ADDRESS" => "unix:abstract=/tmp/dbus-FFF2xmB2NV,guid=4fcb3df09ca145945fac319366b60cc5"
> "XDG_RUNTIME_DIR" => "/run/user/1001"
> "PATH" => "/home/max/.cargo/bin:/opt/miniconda/bin:/opt/miniconda/condabin:/cm/shared/apps/julia/julia-1.10.4/bin:/cm/shared/apps/slurm/current/sbin:/cm/shared/apps/slurm/current/bin:/cm/shared/apps/pycharm/2023-3-4/bin:/home/max/.local/bin:/home/max/bin:/cm/local/apps/environment-modules/4.5.3/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/usr/sbin:/cm/local/apps/environment-modules/4.5.3/bin:/opt/dell/srvadmin/bin:/home/max/.fzf/bin"
> "_LMFILES_" => "/cm/shared/modulefiles/pycharm/2023-3-4:/cm/local/modulefiles/slurm/awf-slurm/21.08.8:/cm/shared/modulefiles/julia/1.10.4"
> "MODULESHOME" => "/cm/local/apps/environment-modules/4.5.3/"
> "CONDA_DEFAULT_ENV" => "base"
> "HISTSIZE" => "1000"
> "LESSOPEN" => "||/usr/bin/lesspipe.sh %s"
> "BASH_FUNC_which%%" => "() { ( alias;\n eval \${which_declare} ) | /usr/bin/which --tty-only --read-alias --read-functions --show-tilde --show-dot \"\$@\"\n}"
> "BASH_FUNC_module%%" => "() { _module_raw \"\$@\" 2>&1\n}"
> "BASH_FUNC__module_raw%%" => "() { unset _mlshdbg;\n if [\"\${MODULES_SILENT_SHELL_DEBUG:-0}\" = '1']; then\n case \"\$-\" in \n *v*x*)\n set +vx;\n _mlshdbg='vx'\n ;;\n *v*)\n set +v;\n _mlshdbg='v'\n ;;\n *x*)\n set +x;\n _mlshdbg='x'\n ;;\n *)\n _mlshdbg=''\n ;;\n esac;\n fi;\n unset _mlre _mlIFS;\n if [-n \"\${IFS+x}\"]; then\n _mlIFS=\$IFS;\n fi;\n IFS=' ';\n for _mlv in \${MODULES_RUN_QUARANTINE:-};\n do\n if [\"\${_mlv}\" = \"\${_mlv##*[!A-Za-z0-9_]}\" -a \"\${_mlv}\" = \"\${_mlv#[0-9]}\" ]; then\n if [-n \"`eval 'echo \${'\$_mlv'+x}'`\"]; then\n _mlre=\"\${_mlre:-}\${_mlv}_modquar='`eval 'echo \${'\$_mlv'}'`' \";\n fi;\n _mlrv=\"MODULES_RUNENV_\${_mlv}\";\n _mlre=\"\${_mlre:-}\${_mlv}='`eval 'echo \${'\$_mlrv':-}'`' \";\n fi;\n done;\n if [-n \"\${_mlre:-}\"]; then\n eval `eval \${_mlre} /usr/bin/tclsh /cm/local/apps/environment-modules/4.5.3/libexec/modulecmd.tcl bash '\"\$@\"'`;\n else\n eval `/usr/bin/tclsh /cm/local/apps/environment-modules/4.5.3/libexec/modulecmd.tcl bash \"\$@\"`;\n fi;\n _mlstatus=\$?;\n if [-n \"\${_mlIFS+x}\"]; then\n IFS=\$_mlIFS;\n else\n unset IFS;\n fi;\n unset _mlre _mlv _mlrv _mlIFS;\n if [-n \"\${_mlshdbg:-}\"]; then\n set -\$_mlshdbg;\n fi;\n unset _mlshdbg;\n return \$_mlstatus\n}"
> "BASH_FUNC_switchml%%" => "() { typeset swfound=1;\n if [\"\${MODULES_USE_COMPAT_VERSION:-0}\" = '1']; then\n typeset swname='main';\n if [-e /cm/local/apps/environment-modules/4.5.3//libexec/modulecmd.tcl]; then\n typeset swfound=0;\n unset MODULES_USE_COMPAT_VERSION;\n fi;\n else\n typeset swname='compatibility';\n if [-e /cm/local/apps/environment-modules/4.5.3//libexec/modulecmd-compat]; then\n typeset swfound=0;\n MODULES_USE_COMPAT_VERSION=1;\n export MODULES_USE_COMPAT_VERSION;\n fi;\n fi;\n if [\$swfound -eq 0]; then\n echo \"Switching to Modules \$swname version\";\n source /cm/local/apps/environment-modules/4.5.3//init/bash;\n else\n echo \"Cannot switch to Modules \$swname version, command not found\";\n return 1;\n fi\n}"
> "BASH_FUNC_ml%%" => "() { module ml \"\$@\"\n}"
> "OLDPWD" => "/home/max"
> "_" => "/cm/shared/apps/julia/julia-1.10.4/bin/julia"
> "OPENBLAS_MAIN_FREE" => "1"
> "OPENBLAS_DEFAULT_NUM_THREADS" => "1"
> "LOAD_PATH" => "/home/max/projects"
> 
> ```

> **endless precompilation wall**
>
> ```julia
> Precompiling CairoMakie
> 14 dependencies successfully precompiled in 136 seconds. 216 already precompiled.
> [Info: Precompiling CairoMakie [13f3f980-e62b-5c42-98c6-ff1f3baf88f0]
> Precompiling DataFrames
> 1 dependency successfully precompiled in 9 seconds. 27 already precompiled.
> [Info: Precompiling DataFrames [a93c6f00-e57d-5684-b7b6-d8193f3e46c0]
> [Info: Precompiling ParsersExt [f526588d-e68b-5dc5-a62e-ff9f36e48b1a]
> ┌ Warning: Module Parsers with build ID fafbfcfd-3bdd-b9f8-0010-0b7e020a431f is missing from the cache.
> │ This may mean Parsers [69de0a69-1ddd-5017-9359-2bf0b02dc9f0] does not support precompilation but is imported by a module that does.
> └ @ Base loading.jl:1948
> [Info: Skipping precompilation since __precompile__ (false). Importing ParsersExt [f526588d-e68b-5dc5-a62e-ff9f36e48b1a].
> Precompiling Parquet2
> 12 dependencies successfully precompiled in 56 seconds. 108 already precompiled.
> [Info: Precompiling Parquet2 [98572fba-bba0-415d-956f-fa77e587d26d]
> ┌ Warning: Module StaticArrays with build ID fafbfcfd-feb8-389a-0010-0b7634421cf1 is missing from the cache.
> │ This may mean StaticArrays [90137ffa-7385-5640-81b9-e52037218182] does not support precompilation but is imported by a module that does.
> └ @ Base loading.jl:1948
> [Info: Skipping precompilation since __precompile__ (false). Importing Parquet2 [98572fba-bba0-415d-956f-fa77e587d26d].
> ...
> and so on
> 
> ```

> **versioninfo**
>
> ```julia
> julia> versioninfo()
> Julia Version 1.10.4
> Commit 48d4fd48430 (2024-06-04 10:41 UTC)
> Build Info:
> Official https://julialang.org/ release
> Platform Info:
> OS: Linux (x86_64-linux-gnu)
> CPU: 16 × Intel(R) Core(TM) i7-10700 CPU @ 2.90GHz
> WORD_SIZE: 64
> LIBM: libopenlibm
> LLVM: libLLVM-15.0.7 (ORCJIT, skylake)
> Threads: 8 default, 0 interactive, 4 GC (on 16 virtual cores)
> Environment:
> LD_LIBRARY_PATH = /cm/shared/apps/slurm/current/lib64/slurm:/cm/shared/apps/slurm/current/lib64
> LD_LIBRARY_PATH_modshare = /cm/shared/apps/slurm/current/lib64:1:/cm/shared/apps/slurm/current/lib64/slurm:1
> JULIA_EDITOR = code
> JULIA_NUM_THREADS = 4
> JULIA_PKG_SERVER = pkg.julialang.org
> 
> julia vscode extension version: v1.105.2
> 
> ```

> **packages**
>
> ```julia
> [c9ce4bd3] ArchGDAL v0.10.4
> [336ed68f] CSV v0.10.14
> [13f3f980] CairoMakie v0.12.5
> [35d6a980] ColorSchemes v3.26.0
> [5ae59095] Colors v0.12.11
> [a10d1c49] DBInterface v2.6.1
> [a93c6f00] DataFrames v1.6.1
> ⌃ [add2ef01] GDAL v1.7.1
> [cf35fbd7] GeoInterface v1.3.5
> [98572fba] Parquet2 v0.2.27
> [995b91a9] PlotUtils v1.4.1
> [a3a2b9e3] Rasters v0.11.4
> [0aa819cd] SQLite v1.6.1
> [2913bbd2] StatsBase v0.34.3
> [10745b16] Statistics v1.10.0
> 
> ```

---

<div class="post-metadata">

**Author:** ![Salmon](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/salmon/32/22968_2.png) [@Salmon](https://discourse.julialang.org/u/Salmon)\
**Post date:** [August 9, 2024, 1:08pm UTC](https://discourse.julialang.org/t/julia-in-vscode-keeps-precompiling-compiled-packages/117998/2 "2024-08-09T13:08:09Z")

</div>

Are there several different login nodes? Julia usually precompiles new, if the cpu changes compared to the precompile cache. Or does it still precompile every time you restart the REPL even within the same login session (and without submitting some other jobs on the cluster that may also lead to recompilation)?

---

<div class="post-metadata">

**Author:** ![joa-quim](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/joa-quim/32/227_2.png) [@joa-quim](https://discourse.julialang.org/u/joa-quim)\
**Post date:** [August 9, 2024, 2:15pm UTC](https://discourse.julialang.org/t/julia-in-vscode-keeps-precompiling-compiled-packages/117998/3 "2024-08-09T14:15:40Z")

</div>

Maybe related

> <https://github.com/JuliaLang/julia/issues/54192>
>
> Hi,
> 
> Julia 1.10.0 on Windows here
> 
> These 4 steps each one precompiles the co…de (but in fact I can generate up to 6 if using a package that has GMT as a dependency)
> 
> 1- using GMT from normal REPL
> 2- using GMT from VSC REPL (???)
> 3- \] test GMT
> 4- From pythoncall, jl.seval("using GMT")
> 
> Looking at the .julia\\compiled\\v1.10\\GMT there are now 4 precompiled caches. I know the difference between 1 and 3 (was explained in a previous topic), but why the others? More in particular, why VSC REPL needs to recompile?
> 
> \`\`\`
> C:\\Users\\j\\.julia\\compiled\\v1.10\\GMT\>dir
> Volume in drive C is OS
> Volume Serial Number is B071-46FE
> 
> Directory of C:\\Users\\j\\.julia\\compiled\\v1.10\\GMT
> 
> 04/22/2024 05:08 PM \<DIR\> .
> 04/16/2024 08:28 PM \<DIR\> ..
> 04/22/2024 05:06 PM 63,229,952 EoU0j\_fJuKl.dll
> 04/22/2024 05:06 PM 1,878,233 EoU0j\_fJuKl.ji
> 04/22/2024 02:58 PM 63,446,528 EoU0j\_LJW35.dll
> 04/22/2024 04:27 PM 1,878,233 EoU0j\_LJW35.ji
> 04/22/2024 03:48 PM 63,790,080 EoU0j\_lMp8H.dll
> 04/22/2024 04:29 PM 1,878,233 EoU0j\_lMp8H.ji
> 04/22/2024 04:26 PM 61,606,912 EoU0j\_pnwhX.dll
> 04/22/2024 04:26 PM 1,735,014 EoU0j\_pnwhX.ji
> 04/22/2024 05:08 PM 63,225,856 EoU0j\_tuK0Q.dll
> 04/22/2024 05:22 PM 1,878,233 EoU0j\_tuK0Q.ji
> 04/22/2024 03:58 PM 62,137,344 EoU0j\_wcBIL.dll
> 04/22/2024 04:15 PM 1,735,014 EoU0j\_wcBIL.ji
> \`\`\`

---

<div class="post-metadata">

**Author:** ![ufechner7](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ufechner7/32/51363_2.png) [@ufechner7](https://discourse.julialang.org/u/ufechner7)\
**Post date:** [August 9, 2024, 2:36pm UTC](https://discourse.julialang.org/t/julia-in-vscode-keeps-precompiling-compiled-packages/117998/4 "2024-08-09T14:36:02Z")

</div>

Just use the normal terminal in VSCode and start the REPL from the terminal.

---

<div class="post-metadata">

**Author:** ![joa-quim](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/joa-quim/32/227_2.png) [@joa-quim](https://discourse.julialang.org/u/joa-quim)\
**Post date:** [August 9, 2024, 2:59pm UTC](https://discourse.julialang.org/t/julia-in-vscode-keeps-precompiling-compiled-packages/117998/5 "2024-08-09T14:59:20Z")

</div>

And how use the debugger then?

---

<div class="post-metadata">

**Author:** ![Salmon](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/salmon/32/22968_2.png) [@Salmon](https://discourse.julialang.org/u/Salmon)\
**Post date:** [August 9, 2024, 3:43pm UTC](https://discourse.julialang.org/t/julia-in-vscode-keeps-precompiling-compiled-packages/117998/6 "2024-08-09T15:43:16Z")

</div>

does it work if you connect the REPL?

CTRL+SHIFT+p → “Julia: Connect external REPL”

---

<div class="post-metadata">

**Author:** ![joa-quim](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/joa-quim/32/227_2.png) [@joa-quim](https://discourse.julialang.org/u/joa-quim)\
**Post date:** [August 10, 2024, 1:52am UTC](https://discourse.julialang.org/t/julia-in-vscode-keeps-precompiling-compiled-packages/117998/7 "2024-08-10T01:52:06Z")

</div>

Don’t know. I was never able to make that option work (and I’m away from the computer now).

---

<div class="post-metadata">

**Author:** ![maxfreu](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/maxfreu/32/17468_2.png) [@maxfreu](https://discourse.julialang.org/u/maxfreu)\
**Post date:** [August 10, 2024, 7:12am UTC](https://discourse.julialang.org/t/julia-in-vscode-keeps-precompiling-compiled-packages/117998/8 "2024-08-10T07:12:39Z")

</div>

Thanks for the replies so far! To clarify: There is just one login node and I control it. There are no other julia sessions running and all vscode / node processes are killed. When I start vscode and open the native julia repl in there, it precompiles all imported packages. When I use an independent repl there are no problems and miraculously, connecting to an external repl also worked! Last time I tried it didn’t o.O If that works consistently, I can use the external repl connection as a workaround. But I assume something is broken with the vscode extension…

---

<div class="post-metadata">

**Author:** ![ufechner7](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ufechner7/32/51363_2.png) [@ufechner7](https://discourse.julialang.org/u/ufechner7)\
**Post date:** [August 10, 2024, 7:56am UTC](https://discourse.julialang.org/t/julia-in-vscode-keeps-precompiling-compiled-packages/117998/9 "2024-08-10T07:56:58Z")

</div>

> [@maxfreu](#):
>
> open the native julia repl in there,

How are you doing that? Are you using the menu option “Terminal → new Terminal” and then type `julia --project?`

And which terminal type do you use, is it bash?

---

<div class="post-metadata">

**Author:** ![maxfreu](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/maxfreu/32/17468_2.png) [@maxfreu](https://discourse.julialang.org/u/maxfreu)\
**Post date:** [August 10, 2024, 8:25am UTC](https://discourse.julialang.org/t/julia-in-vscode-keeps-precompiling-compiled-packages/117998/10 "2024-08-10T08:25:08Z")

</div>

I open the faulty vscode repl via Alt+J+O and the working repl I can connect to the way you described.

---

<div class="post-metadata">

**Author:** ![ufechner7](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ufechner7/32/51363_2.png) [@ufechner7](https://discourse.julialang.org/u/ufechner7)\
**Post date:** [August 10, 2024, 9:13am UTC](https://discourse.julialang.org/t/julia-in-vscode-keeps-precompiling-compiled-packages/117998/11 "2024-08-10T09:13:10Z")

</div>

Just don’t use the Julia REPL from the Julia-vscode extension. It does too much behind the scene, is too slow, cannot easily be launched with different julia parameters and is too hard to debug if it fails.

I have a bash alias `alias jl='./bin/run_julia'` and a bash script `run_julia` which starts julia with all the options my project needs. Easy to debug and understand, always works, and it is fast. Typing `<ctrl><d>jl<enter>` restarts Julia if needed and never takes more than 1s.  
`

---

<div class="post-metadata">

**Author:** ![maxfreu](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/maxfreu/32/17468_2.png) [@maxfreu](https://discourse.julialang.org/u/maxfreu)\
**Post date:** [August 21, 2024, 1:45pm UTC](https://discourse.julialang.org/t/julia-in-vscode-keeps-precompiling-compiled-packages/117998/12 "2024-08-21T13:45:06Z")

</div>

After updating the vscode julia extension to version v1.110.1 the problem went away - hopefully it stays like that!
