Skip to content

julia-daemon: pin juliaup launcher in the shim so upgrades don't break it - #294

Open
hz-xiaxz wants to merge 1 commit into
QuantumBFS:mainfrom
hz-xiaxz:fix/julia-daemon-juliaup-launcher
Open

hz-xiaxz wants to merge 1 commit into
QuantumBFS:mainfrom
hz-xiaxz:fix/julia-daemon-juliaup-launcher

Conversation

@hz-xiaxz

Copy link
Copy Markdown
Contributor

Problem

make julia-daemon SHIM=1 writes ~/.local/bin/julia with JULIA_REAL_BIN set to the resolved, versioned juliaup binary (e.g. ~/.julia/juliaup/julia-1.13.1+0.x64.linux.gnu/bin/julia). When juliaup upgrades the channel it deletes that directory, so every julia call through the shim fails with the misleading Julia not found; run 'make install julia' first.

Fix

  • install_shim: if the resolved binary is juliaup-managed (*/juliaup/julia-*/bin/julia) and ~/.juliaup/bin/julialauncher exists, pin the launcher instead. It follows the default channel across upgrades.
  • require_julia: when JULIA_REAL_BIN is set but missing, say so and print the reinstall command.

Test

Upgraded 1.13.1 → 1.13.2, then reinstalled with JULIA_REAL_BIN=$HOME/.juliaup/bin/julia make julia-daemon SHIM=1:

  • julia -e ... (fallback path) → 1.13.2
  • julia --project=. -e ... twice → same daemon PID both calls (3.7s cold, 1.2s warm)
  • status / stop work. The launcher execs julia, so the PID/cmdline identity check still matches.

🤖 Generated with Claude Code

…k it

install-shim resolved Julia to the versioned juliaup path
(julia-X.Y.Z+0.../bin/julia), which juliaup deletes on upgrade, leaving
the shim pointing at a missing binary. Pin ~/.juliaup/bin/julialauncher
instead when the resolved binary is juliaup-managed, and give a clear
reinstall hint when JULIA_REAL_BIN no longer exists.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant