Installation de TodoApp d’Elixir Desktop sur Windows

Nous allons installer l’application proposée par Elixir-Desktop en exemple. L’application est complète et doit pouvoir fonctionner directement.

L’application est disponible en :

Vérification des préconisations

Les préconisations sont les suivantes :

Installation de TodoApp d'Elixir Desktop sur Windows#1-dependencies and application set-up
Installation de TodoApp d’Elixir Desktop sur Windows#1-dependencies and application set-up

Nous avons installé l’ensemble des pré-requis dans l’article précédent.

An other post explain how we have done the installation of the pre-requisit.

Check all the pre-requisit :

berou@LAPTOP-0SQHKMMQ MSYS ~
$ g++ --version
g++.exe (Rev2, Built by MSYS2 project) 13.2.0
Copyright (C) 2023 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.


berou@LAPTOP-0SQHKMMQ MSYS ~
$ gdb --version
GNU gdb (GDB) 13.2
Copyright (C) 2023 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

berou@LAPTOP-0SQHKMMQ MSYS ~
$

Check path and version of each software :

berou@LAPTOP-0SQHKMMQ MSYS ~
$ echo $PATH
/c/Program Files/Erlang OTP/bin:/c/msys64/mingw64/bin:/home/berou/elixir/bin:/usr/local/bin:/usr/bin:/bin:/opt/bin:/c/Windows/System32:/c/Windows:/c/Windows/System32/Wbem:/c/Windows/System32/WindowsPowerShell/v1.0/:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl

berou@LAPTOP-0SQHKMMQ MSYS ~
$ git --version
git version 2.42.0

berou@LAPTOP-0SQHKMMQ MSYS ~
$ elixir --version
Erlang/OTP 25 [erts-13.0.4] [source] [64-bit] [smp:8:8] [ds:8:8:10] [async-threads:1] [jit:ns]

Elixir 1.14.5 (compiled with Erlang/OTP 25)

berou@LAPTOP-0SQHKMMQ MSYS ~
$  erl -eval 'erlang:display(erlang:system_info(otp_release)), halt().'  -noshell
"25"

berou@LAPTOP-0SQHKMMQ MSYS ~
$ npm --version
9.6.7

berou@LAPTOP-0SQHKMMQ MSYS ~
$

Plan de l’installation à faire

Les étapes de l’installation sont les suivantes :

  • installer les pré-requis sur Windows : fait dans l’article précédent
  • Créer un répertoire todo_app et y installer le code
  • utiliser la ligne de commande msys2
  • aller dans le répertoire : todo_app/assets
  • lancer la commande : npm install
  • revenir dans le répertoire todo_app
  • lancer la commande : mix assets.deploy

Mise en œuvre

Nous mettons le projet dans le dossier home/berou/Projets sous msys64.

berou@LAPTOP-0SQHKMMQ MSYS ~/Projets/todo_app
$ pwd
/home/berou/Projets/todo_app

berou@LAPTOP-0SQHKMMQ MSYS ~/Projets/todo_app
$ ls
LICENSE.md  assets  lib      mix.lock  priv  run.bat          test
README.md   config  mix.exs  nodeploy  run   startVsCode.bat

berou@LAPTOP-0SQHKMMQ MSYS ~/Projets/todo_app
$ cd assets

berou@LAPTOP-0SQHKMMQ MSYS ~/Projets/todo_app/assets
$

Nous activons npm install

berou@LAPTOP-0SQHKMMQ MSYS ~/Projets/todo_app/assets
$ npm install
npm WARN old lockfile
npm WARN old lockfile The package-lock.json file was created with an old version of npm,
npm WARN old lockfile so supplemental metadata must be fetched from the registry.
npm WARN old lockfile
npm WARN old lockfile This is a one-time fix-up, please be patient...
npm WARN old lockfile

added 1 package, and audited 2 packages in 5s

found 0 vulnerabilities
npm notice
npm notice New minor version of npm available! 9.6.7 -> 9.8.1
npm notice Changelog: https://github.com/npm/cli/releases/tag/v9.8.1
npm notice Run npm install -g npm@9.8.1 to update!
npm notice

berou@LAPTOP-0SQHKMMQ MSYS ~/Projets/todo_app/assets
$

La commande s’est bien exécutée.

The command succeded

Nous revenons au dossier todo_app :

We go back to the folder of the project

berou@LAPTOP-0SQHKMMQ MSYS ~/Projets/todo_app/assets
$ cd ..

berou@LAPTOP-0SQHKMMQ MSYS ~/Projets/todo_app
$

Nous exécutons la commande : mix assets.deploy

We execute : mix assets.deploy

berou@LAPTOP-0SQHKMMQ MSYS ~/Projets/todo_app
$ mix assets.deploy
Unchecked dependencies for environment dev:
* desktop (Hex package)
  the dependency is not available, run "mix deps.get"
* phoenix_live_view (Hex package)
  the dependency is not available, run "mix deps.get"
* dart_sass (Hex package)
  the dependency is not available, run "mix deps.get"
* esbuild (Hex package)
  the dependency is not available, run "mix deps.get"
* jason (Hex package)
  the dependency is not available, run "mix deps.get"
* phoenix_html (Hex package)
  the dependency is not available, run "mix deps.get"
* phoenix (Hex package)
  the dependency is not available, run "mix deps.get"
* phoenix_live_reload (Hex package)
  the dependency is not available, run "mix deps.get"
* gettext (Hex package)
  the dependency is not available, run "mix deps.get"
* phoenix_view (Hex package)
  the dependency is not available, run "mix deps.get"
* credo (Hex package)
  the dependency is not available, run "mix deps.get"
* plug_cowboy (Hex package)
  the dependency is not available, run "mix deps.get"
* exqlite (https://github.com/elixir-desktop/exqlite.git)
  the dependency is not available, run "mix deps.get"
* ecto_sqlite3 (Hex package)
  the dependency is not available, run "mix deps.get"
** (Mix) Can't continue due to errors on dependencies

berou@LAPTOP-0SQHKMMQ MSYS ~/Projets/todo_app
$

J’essaye d’installer les dépendances avec mix deps.get et cela bloque.

I try to install mix deps.get, but it doesn’t work.

berou@LAPTOP-0SQHKMMQ MSYS ~/Projets/todo_app
$ mix deps.get
* Getting exqlite (https://github.com/elixir-desktop/exqlite.git)
remote: Enumerating objects: 2484, done.
remote: Counting objects: 100% (483/483), done.
remote: Compressing objects: 100% (125/125), done.
remote: Total 2484 (delta 404), reused 388 (delta 350), pack-reused 2001

Here, the installation stop.

Conclusion

Nous n’arrivons pas à finaliser l’installation.

We didn’t succed to finalize the install. Help is welcome.

Si vous avez aimé l'article vous êtes libre de le partager :-)

Laisser un commentaire