New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
L'installeur en version complète ne persiste plus définitivement le PATH du moment de l'installation du JDK #5944
Merged
Situphen
merged 2 commits into
zestedesavoir:dev
from
AmauryCarrade:fix-installation-script-trickery-that-persists-install-time-node-version-even-if-nvmrc-changes
Dec 17, 2020
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
L'installation du JDK local (pour ElasticSearch) avait un bug extrêmement fourbe : suite à une petite erreur dans le script d'installation, le script d'activation de l'environnement virtuel persistait définitivement le PATH du moment de l'installation dans l'environnement virtuel. Une des conséquences est de fixer la version de Node dans l'environnement virtuel à celle lors de l'installation, car cette modification du PATH est placée après `nvm use` dans le fichier `zdsenv/bin/activate` (et assimilés), provoquant des situations assez incompréhensibles où à l'activation du venv, nvm précise qu'il passe dans la bonne version de Node, mais une autre se retrouve active à la fin de l'exécution de la commande. Ce commit corrige ce comportement en évitant de persister le PATH du moment de l'installation dans le fichier `zdsenv/bin/activate` (ou assimilé). Si vous avez ce problème, le moyen le plus simple de le résoudre est de supprimer ces trois lignes du fichier `zdsenv/bin/activate`, placées à la toute fin du fichier, normalement : export PATH="..." export JAVA_HOME="..." export ES_JAVA_OPTS="..." …puis d'exécuter une toute petite partie du script d'installation afin de les restaurer correctement (ce qui ne devrait pas prendre plus de quelques secondes, dépendant de votre connexion internet). ./scripts/install_zsh.sh +jdk-local
AmauryCarrade
added
S-BUG
Corrige un problème
C-DevelopmentEnv
Amélioration de l'environnement de dev
labels
Oct 4, 2020
…s-install-time-node-version-even-if-nvmrc-changes
Situphen
approved these changes
Dec 17, 2020
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Chose promise, chose faite.
QA OK !
viki53
pushed a commit
to viki53/zds-site
that referenced
this pull request
Jul 7, 2022
…ATH (zestedesavoir#5944) L'installation du JDK local (pour ElasticSearch) avait un bug extrêmement fourbe : suite à une petite erreur dans le script d'installation, le script d'activation de l'environnement virtuel persistait définitivement le PATH du moment de l'installation dans l'environnement virtuel. Une des conséquences est de fixer la version de Node dans l'environnement virtuel à celle lors de l'installation, car cette modification du PATH est placée après `nvm use` dans le fichier `zdsenv/bin/activate` (et assimilés), provoquant des situations assez incompréhensibles où à l'activation du venv, nvm précise qu'il passe dans la bonne version de Node, mais une autre se retrouve active à la fin de l'exécution de la commande. Ce commit corrige ce comportement en évitant de persister le PATH du moment de l'installation dans le fichier `zdsenv/bin/activate` (ou assimilé). Si vous avez ce problème, le moyen le plus simple de le résoudre est de supprimer ces trois lignes du fichier `zdsenv/bin/activate`, placées à la toute fin du fichier, normalement : export PATH="..." export JAVA_HOME="..." export ES_JAVA_OPTS="..." …puis d'exécuter une toute petite partie du script d'installation afin de les restaurer correctement (ce qui ne devrait pas prendre plus de quelques secondes, dépendant de votre connexion internet). ./scripts/install_zsh.sh +jdk-local Co-authored-by: Situphen <Situphen@users.noreply.github.com>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
L'installation du JDK local (pour ElasticSearch) avait un bug extrêmement fourbe : suite à une petite erreur dans le script d'installation, le script d'activation de l'environnement virtuel persistait définitivement le PATH du moment de l'installation dans l'environnement virtuel. Une des conséquences est de fixer la version de Node dans l'environnement virtuel à celle lors de l'installation, car cette modification du PATH est placée après
nvm use
dans le fichierzdsenv/bin/activate
(et assimilés), provoquant des situations assez incompréhensibles où à l'activation du venv, nvm précise qu'il passe dans la bonne version de Node, mais une autre se retrouve active à la fin de l'exécution de la commande.Ce commit corrige ce comportement en évitant de persister le PATH du moment de l'installation dans le fichier
zdsenv/bin/activate
(ou assimilé).Je rencontre ce problème. Comment le corriger sans tout réinstaller ?
Si vous avez ce problème, le moyen le plus simple de le résoudre est de supprimer ces trois lignes du fichier
zdsenv/bin/activate
, placées à la toute fin du fichier, normalement :…puis d'exécuter une toute petite partie du script d'installation afin de les restaurer correctement (ce qui ne devrait pas prendre plus de quelques dizaines de secondes, dépendant de votre connexion internet).
Contrôle qualité
Il y a deux manières de tester : la version longue (qui implique une réinstallation complète de la version intégrale de ZdS) et une version réduite au minimum (qui n'implique que de ré-exécuter le bout du script d'installation qui a été altéré, en ayant restauré l'instance à l'état qu'il s'attend à trouver juste avant de tourner).
Version longue
zdsenv
, ou autre dossier que vous utiliseriez pour l'environnement virtuel.make install-linux-full
.Version courte
zdsenv/bin/activate
. Dans le doute, vérifiez qu'elles ne sont bien plus là../scripts/install_zsh.sh +jdk-local
.Commun aux deux versions
zdsenv/bin/activate
et vérifiez que la redéfinition du$PATH
à la fin du fichier ne contient pas tout votre PATH (la ligne doit être courte avec une référence à l'ancien$PATH
).source zdsenv/bin/activate
) et vérifiez (avecnode -v
) que vous avez bien la bonne version de NodeJS. Elle doit être la même que celle indiquée par la sortie du script d'installation après «Now using node v12.18.1
» (la version peut être légèrement différente chez vous)..nvmrc
à la racine du dépôt et remplacez son contenu par la chaîne14
.nvm install 14
).Note : cette installation est locale à
nvm
; elle ne va pas impacter les autres versions de NodeJS installées, ni celle installée via votre gestionnaire de paquets, le cas échéant.deactivate
) et retournez dedans (source zdsenv/bin/activate
).node -v
) que vous êtes bien sur Node 14..nvmrc
(git reset --hard .nvmrc
).nvm uninstall 14
).