Problèmes lors de l'installation de Discourse sur WSL

Bonjour ! J’essaie de faire fonctionner une instance locale de Discourse sur ma machine Windows 11 pour le développement à l’aide de WSL.

Permettez-moi d’abord de dire que je suis nouveau à la fois sur Discourse, Ubuntu et WSL. Donc, les erreurs viennent clairement de mon côté. Aidez-moi s’il vous plaît ! :frowning_with_open_mouth:

Installer Discourse sur Windows 10

Ceci est le guide que j’ai suivi.

J’en suis à ma quatrième tentative et je rencontre toujours les mêmes erreurs. Je vais fournir un compte rendu détaillé du processus d’installation.

Tout d’abord, je me suis assuré d’avoir Windows Subsystem for Linux 2. Le guide suggère Ubuntu 18.04, alors j’ai essayé celui-ci. Après que cela n’ait pas fonctionné, j’ai essayé 22.04 mais toujours aucun résultat. Dans ce compte rendu, j’utiliserai 18.04 pour présenter les erreurs.

La première étape consiste à installer les paquets en utilisant cette commande :

<(wget -qO- https://raw.githubusercontent.com/discourse/install-rails/master/linux)

Cela fonctionne bien. La seule chose qui semble un peu étrange est ceci :

createuser: could not connect to database template1: could not connect to server: No such file or directory
        Is the server running locally and accepting
        connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?
failed

Avant de configurer la base de données, vous devez démarrer manuellement le service PostgreSQL et le serveur Redis en utilisant les commandes suivantes :

sudo service postgresql start
redis-server --daemonize yes

La première commande fonctionne à merveille, la seconde a déjà un problème :

redis-server --daemonize yes

Command ‘redis-server’ not found, but can be installed with:

sudo apt install redis-server

C’est bon. Je lance

sudo apt install redis-server

et j’essaie à nouveau.
Cette fois, ça fonctionne parfaitement !

  1. Clonez le dépôt Discourse
git clone https://github.com/discourse/discourse.git ~/discourse

Aucun problème ici.
Configuration de la base de données avec :

sudo -u postgres createuser -s "$USER"

4. Voici la partie cruciale

cd ~/discourse
source ~/.bashrc
bundle install

Erreur :

Command ‘bundle’ not found, but can be installed with:

sudo apt install ruby-bundler

Exécutons-le. Et après l’installation, exécutez à nouveau

bundle install

dans le répertoire Discourse.

Error: You must use Bundler 2 or greater with this lockfile.

Après cela, en essayant d’installer Bundler :

ERROR: Error installing bundler: There are no versions of bundler (= 2.4.17) compatible with your Ruby & RubyGems bundler requires Ruby version >= 2.6.0. The current ruby version is 2.5.0.

Ok, peut-être que je dois mettre à jour mon Ruby en utilisant rbenv :

rbenv install 2.6.0
ruby-build: definition not found: 2.6.0

See all available versions with `rbenv install --list’.

If the version you need is missing, try upgrading ruby-build.

En vérifiant rbenv install --list, il s’arrête à 2.5.0 et je n’arrive pas à mettre à jour rbenv.

Quelqu’un peut-il me donner un indice sur ce que je fais peut-être mal ? Je n’arrive pas à aller au-delà de l’étape 4.

Merci beaucoup d’avance !

1 « J'aime »

J’ai rencontré le même problème. Voici ce que j’ai fait (peut-être trop exagéré mais je ne suis pas un expert ^^)

  1. Installer rbenv et ruby-build :
git clone https://github.com/rbenv/rbenv.git ~/.rbenv
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(rbenv init -)"' >> ~/.bashrc
source ~/.bashrc
git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build
echo 'export PATH="$HOME/.rbenv/plugins/ruby-build/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc
  1. Installer une nouvelle version de ruby :
rbenv install 3.2.2
rbenv global 3.2.2
  1. Installer la bonne version de bundler
    gem install bundler:2.4.13

  2. Comme j’avais des problèmes de permissions en utilisant “bundle install”, j’ai dû corriger cela temporairement avec :
    sudo chmod -R 777 /home/boris/.bundle

  3. bundle install

J’espère que cela aide

2 « J'aime »

Merci ! Ça a beaucoup aidé.

Maintenant, je rencontre une autre erreur lors de l’exécution de

bundle exec rake db:create

Discourse requires Redis 6.2.0 or up

Hmm, vérifions avec

redis-server -v

Redis server v=7.0.12 sha=00000000:0 malloc=jemalloc-5.2.1 bits=64 build=b56540d7933227fd

Ça devrait fonctionner, non ? Désolé pour les désagréments.

Ahah il semble que nous ayons rencontré les mêmes problèmes.

  1. Ajoutez le dépôt qui contient les dernières versions
sudo add-apt-repository ppa:redislabs/redis
sudo apt-get update
  1. Installez la nouvelle version de Redis
sudo apt-get install redis
  1. redémarrez redis
    sudo service redis-server restart
3 « J'aime »