Problème de développement sous Windows avec Docker et un volume monté

Bonjour, je ne peux pas développer sous Windows car j’obtiens un écran blanc. Lorsque j’ouvre la console, je reçois ces erreurs :

(X) ember_jquery.js?1579775136.5740232:1 Uncaught Error: Errno::EEXIST: File exists @ dir_s_mkdir - /var/discourse/tmp/cache/assets/sprockets/v3.0/pr
  (in /home/gaijinsailor/.rbenv/versions/2.6.2/lib/ruby/2.6.0/fileutils.rb:239:in `mkdir')
    at ember_jquery.js?1579775136.5740232:1

et beaucoup d’erreurs similaires.

En résumé, Discourse ne peut pas charger les scripts. Lorsque j’ouvre un script dans une fenêtre séparée, je reçois l’erreur suivante :

Script: http://localhost:3000/assets/locales/en_US.js?1579775136.5398135
Body: throw Error("Errno::EEXIST: File exists @ dir_s_mkdir - /var/discourse/tmp/cache/assets/sprockets/v3.0/x2\n  (in /home/gaijinsailor/.rbenv/versions/2.6.2/lib/ruby/2.6.0/fileutils.rb:239:in `mkdir')")

J’ai donc commencé à investiguer et j’ai réalisé que le problème vient de Sprockets. J’ai monté le répertoire Discourse depuis Windows vers Docker, et le système de fichiers ne fait pas la distinction entre majuscules et minuscules. Or, Sprockets semble ne fonctionner que sur des systèmes de fichiers de type Linux (comme ext4) qui peuvent rendre les répertoires sensibles à la casse.

Existe-t-il une solution à ce problème ?
Merci

MISE À JOUR : ce problème avec Sprockets est documenté sur GitHub : FileStore cache patch in v3.6 causes directory name collisions in Windows · Issue #283 · rails/sprockets · GitHub
mais le problème est toujours ouvert et aucune solution n’est proposée :frowning:

Amusant : @pixeltrix est tombé là-dessus hier et a utilisé cette astuce pour contourner le problème :

Je recommande simplement d’installer WSL2 et d’utiliser notre configuration WSL2, qui est bien plus rapide et plus facile à comprendre :

L’installation de l’environnement de développement est triviale : il suffit de lancer WSL2, d’installer Docker, puis d’utiliser notre configuration de développement Docker.

Merci beaucoup. Le contournement a fonctionné.
Plus tard, j’essaierai d’utiliser WSL2.