zds-site icon indicating copy to clipboard operation
zds-site copied to clipboard

Le script d'installation Windows n'active pas l'environnement virtuel avant de l'installation du front-end

Open helmasaur opened this issue 4 years ago • 6 comments

Description du bug

Après l'installation du back-end, le script d'installation Windows est censé activer l'environnement virtuel pour l'installation du front-end. Or, si cela n'est pas fait, c'est Node.js installé hors de l'environnement virtuel qui sera utilisé. Utilisant une version plus récente, l'installation a échoué.

J'ai dû installer le front-end manuellement de cette manière :

  • Pour le dossier T
$ . .\zdsenv\Scripts\activate.ps1
$ npm rebuild node-sass
$ yarn run build
  • Pour zMarkdown
$ cd ./zmd
$ yarn install

Comment reproduire ?

Installer zds-site via le script d'installation Windows avec une version de Node.js non compatible.

helmasaur avatar Jul 08 '20 14:07 helmasaur

Du coup, la migration ne peut pas être faite par le script. Pour installer manuellement (dans zdsenv) :

$ python manage.py loaddata (dir .\fixtures\*.yaml)
$ python manage.py load_factory_data .\fixtures\advanced\aide_tuto_media.yaml
$ python manage.py load_fixtures --size=low --all

helmasaur avatar Jul 08 '20 14:07 helmasaur

L'environnement est correctement installé, c'est node-sass qui veut absolument utiliser la version globale… Je te conseille d'utiliser nvm sous windows et de modifier la procédure d'installation (=> indiquer que la personne doit désinstaller nodejs s'il est déjà utilisé, et installé nvm windows pour gérer correctement les différentes versions de nodejs).

On voit très bien que l'environnement est lancé : https://github.com/zestedesavoir/zds-site/blob/89c843d71d85b5232a7f51f242701fe778d8e7db/scripts/win/install_zds.ps1#L77

Après 2 après-midi entière sur le problème, j'avais trouvé comme solution : Désinstaller nodejs globalement, utiliser nvm.

A-312 avatar Jul 09 '20 07:07 A-312

Si c'est node-sass qui veut utiliser la version globale, pourquoi faire la commande moi-même dans le terminal a fonctionné ? Tout a été installé via le script sauf les choses à installer via yarn et les migrations. Là, j'ai un truc qui fonctionne.

Je vais tenter de nouveau une installation pour voir exactement où ça bloque.

helmasaur avatar Jul 09 '20 15:07 helmasaur

Tu n'as pas refais exactement la même procédure, tu as fais npm rebuild node-sass qui n'est pas présente dans le code et ne fait pas la même chose

A-312 avatar Jul 09 '20 18:07 A-312

Cf. discussion dans le ticket #5851.

helmasaur avatar Jul 19 '20 01:07 helmasaur

@Arnaud-D À fermer aussi si on enlève l'installation via PowerShell.

Situphen avatar Sep 25 '21 10:09 Situphen