B

bertin.louis7

March 13, 2026

L'upgrade de ruby avec mise prend un temps infini

Article Français
Le problĂšme
Quand vous utilisez mise pour installer ou mettre Ă  jour Ruby, l'installation dure un temps temps infini, sans installer votre version

Ruby-build a besoin d'un Ruby existant pour compiler la nouvelle version. Sauf qu'ici, il détecte le shim mise... qui pointe vers Ruby... qu'on est en train d'installer. Blocage circulaire.

Pourquoi ça arrive
mise fonctionne avec des shims — de petits exĂ©cutables proxy placĂ©s dans ~/.local/share/mise/shims/ qui interceptent les appels Ă  ruby, node, etc. Ces shims sont prioritaires dans votre PATH.
Lors d'un mise upgrade ruby, ruby-build cherche un Ruby systĂšme pour amorcer la compilation. Il trouve en premier le shim mise, qui ne peut pas fonctionner correctement puisque la version cible est justement en cours d'installation.

La solution
Il suffit d'écarter temporairement les shims mise du PATH le temps de la commande :
PATH="/usr/bin:/bin:/usr/sbin:/sbin:/opt/homebrew/bin:$PATH" mise upgrade ruby

En mettant les chemins systùme en premier, ruby-build trouve /usr/bin/ruby — le Ruby macOS natif — et peut s'en servir comme base pour compiler la nouvelle version sans rentrer dans une boucle.
B

bertin.louis7

Auteur de cet article