Passage de Debian 10 à 11 avec Ruby 2.7
rédigé le : Oct. 14, 2021
Aujourd'hui, je me suis lancé dans la migration d'un de mes serveurs contenant plusieurs services, tels que :
Mais aussi quelques services web, dont un qui me sert pratiquement tous les jours.
Je me sers de ce logiciel de gestion de projets principalement détourné en logiciel de "ticketing".
Mais suite à la migration, je constate une erreur sur mon navigateur me notifiant de contacter mon administrateur système.
Coup de chance, c'est moi-même :) !
Utilisant un service web apache2, je regarde tout de suite les logs, où je découvre l'erreur suivante :
Le message est assez clair :
Maybe you didn't install all the gems that this application needs
Et en plus il nous propose la commande à lancer :
bundle install
Donc sans attendre je lance la commande :
La voila mon erreur, et en outre, en regardant à nouveau les logs, je m'aperçois que cette possibilité est expliquée :
L'interpréteur Ruby utilisé par bundle n'est pas celui qui convient.
La migration de Debian 11 (Bullseye) a fait évoluer Ruby de la version 2.5 à 2.7. et effectivement lorsque que je regarde sous quel lien symbolique la commande ruby s'accroche, c'est bien celle de ruby2.7 maintenant
Mais, alors pourquoi bundle ne prend pas en compte l’interpréteur par défaut ???
Commençons par savoir où se trouve ce script bundle
Et ce fichier, est-ce un binaire ou un fichier texte ?
Ouf, c'est un fichier texte (ASCII) ; plus qu'à lire le fichier avec son éditeur préféré (VI pour moi !! )
après lecture du fichier, je me rends compte que l’interpréteur est renseigné en dur :
Deux solutions s'offrent à moi : modifier le 2.5 en 2.7, ou supprimer complètement 2.5 car mon Ruby pointe par défaut sur ruby2.7. Pour tester, j'ai décidé de supprimer 2.5.
Ça y est !! Ma commande bundle est de nouveau fonctionnelle !!
Mais je ne suis pas dans le répertoire de redmine qui contient le "Gemfile" !!
Comme bundle est maintenant opérationnel, je me place dans mon répertoire redmine, là où se trouve le fichier Gemfile
et je lance la commande :
qui met à jour tous mes gem metadata :
Test sur mon navigateur Web
Et voilà !!
Redmine est de nouveau fonctionnel.