Instale o Discourse no Windows para desenvolvimento

:information_source: Este tutorial foi testado no Windows 10 e 11.

Para configurar um ambiente de desenvolvimento para o Discourse no Windows, você pode usar o recurso Subsistema do Windows para Linux.

Esta configuração requer a instalação do WSL 2. Ele está disponível apenas nas builds do Windows 10 18917 ou superiores. Vamos assumir que você já instalou o Subsistema do Windows para Linux 2 (Ubuntu) no seu sistema Windows 10. AVISO: Instale o Ubuntu 18.04 e não o 20.04, pois algumas instalações falharão no 20.04. Para mais informações, consulte as notas de 30 de junho de 2020 no final desta postagem.

Vamos começar!

Instalando o Discourse

  1. Inicialmente, siga os passos do tópico Guia para Iniciantes para Instalar o Discourse no Ubuntu para Desenvolvimento até o passo Clonar o Discourse.
  1. Antes de configurar o banco de dados, você deve iniciar manualmente o serviço do PostgreSQL e o servidor Redis usando os seguintes comandos:

    sudo service postgresql start
    redis-server --daemonize yes
    
  2. Em seguida, siga todos os passos restantes do guia do Ubuntu.

Criando um Comando para Iniciar o Discourse

Agora seu ambiente de desenvolvimento está quase pronto. O único problema é que toda vez que você abre o Ubuntu no Windows, precisa iniciar manualmente o serviço do PostgreSQL e o servidor Redis. Não se preocupe, podemos contornar isso criando um comando personalizado :wink:

cd ~

Crie um novo arquivo usando o comando nano start-discourse, cole o conteúdo abaixo, salve e saia.

#!/bin/bash

# para iniciar o PostgreSQL
sudo service postgresql start

# para iniciar o servidor Redis
redis-server --daemonize yes

Agora modifique as permissões do arquivo usando o comando abaixo:

chmod +x start-discourse

E copie o arquivo para sua pasta bin:

sudo cp start-discourse /usr/bin/

Está feito. Agora, sempre que abrir o bash do Ubuntu, basta executar o comando abaixo e começar a desenvolver :+1:

start-discourse

Alternativamente, se você estiver usando o Windows 10 nas edições Enterprise, Pro ou Education, pode criar uma máquina virtual Linux no Hyper-V para configurar o ambiente de desenvolvimento do Discourse.

Notas sobre o Ambiente Windows

Em 30 de junho de 2020:
Em 1º de julho de 2020

Última revisão por @SaraDev em 2022-06-16T02:00:00Z


Este documento está sob controle de versão — sugira alterações no GitHub.

52 curtidas
How to install Discourse on windows
Help installing Discourse for Developer
Database connection error when setting up Discourse development environment using Linux Bash Shell on Windows 10
Restoring backup fails in Win10/Ubuntu development environment
How to Install Discourse on LocalHost in Windows?
How can i install Discourse forum on my win 10 dedicated server OVH
Error installing `bullseye-backports` when trying to install for Development
How to install on localhost
Restoring backup fails in Win10/Ubuntu development environment
Trying to set up Discourse on my website
Help with setting up discourse An error occurred while installing xorcist (1.1.2), and Bundler cannot continue
Migrate a MyBB forum to Discourse
Migrate a NodeBB forum with MongoDB to Discourse
Migrate a Phorum forum to Discourse
Migrate a PunBB forum to Discourse
Migrate from another forum to Discourse
Unable to setup discourse in my windows 10
Self hosting discourse with WSL shows an error, the command shown also doesnt work
No such file or directory - convert (Errno::ENOENT)
PG::UndefinedTable: ERROR: relation "pg_range" does not exist
I'm having trouble installing a local Discourse instance on Windows 11
Issues while installing Discourse on WSL
Guide to Setting Up Discourse Development Environment - Windows 11
Need help integrating code wrote on Edittext to the Discourse
Problem in development Installation
Contributing to Discourse development
Subscribe to post an ad
Restoring backup fails in Win10/Ubuntu development environment
Migrate a Ning forum to Discourse
Windows server publish method
Use the Discourse API ruby gem
Topics which users cannot directly reply to, but can create a linked topic?
How to add a new language
How to Start Sidekiq When Using Puma
Discourse-webpack: A boilerplate for developing JS-heavy Discourse components
How can I directly edit Discourse database from a GUI?
Can't set up dev environment due to cppjieba_rb failing to install
Cloning and making our own Discourse community
How to Add Ngrok to Allowed Hosts
»vagrant up« hangs
Discourse installation end to end on Windows Server 2016
No connection to db issue
How to Install Discourse on LocalHost in Windows?
WSL environment deadlocks
Problem with development on Windows with Docker and mounted volume
Please help, how do I install Discourse on macOS?
Discourse standalone
Set up a local Discourse Development Environment?
Migrate a NodeBB forum with Redis to Discourse

Certo, encontrei uma solução.

Notei que substituir 127.0.0.1 por localhost corrigiria as imagens.

Após pesquisar um pouco, este é o comando que você pode usar para iniciar o Discourse:

DISCOURSE_HOSTNAME=localhost UNICORN_LISTENER=localhost:3000 bin/ember-cli -u


Tentarei atualizar o guia mais tarde.

4 curtidas

Alguma chance de revisar este PR?

Isso tornaria este guia um pouco mais amigável.

3 curtidas

Alguma ideia do porquê estou recebendo "Infelizmente, ocorreu um erro inesperado e o Bundler não pode continuar." após bundle install\n?

1 curtida

mesmo problema

Você pode fornecer uma captura de tela do erro? Qual versão do Ruby você tem instalada?

Estou tendo problemas com dependências:

ux430uq@Asus-UX430UQ:~/discourse$ bundle install
Você deve usar o Bundler 2 ou superior com este lockfile.
ux430uq@Asus-UX430UQ:~/discourse$ bundler -v
Versão do Bundler 1.16.1

ux430uq@Asus-UX430UQ:~/discourse$ gem install bundler

Buscando: bundler-2.4.20.gem (100%)
ERRO: Enquanto executava gem ... (Gem::FilePermissionError)
Você não tem permissões de escrita para o diretório /var/lib/gems/2.5.0.
ux430uq@Asus-UX430UQ:~/discourse$
ux430uq@Asus-UX430UQ:~/discourse$ sudo gem install bundler
[sudo] senha para ux430uq:
Buscando: bundler-2.4.20.gem (100%)
ERRO: Erro ao instalar bundler:
        A última versão do bundler (>= 0) que suporta seu Ruby e RubyGems foi a 2.3.26. Tente instalar com `gem install bundler -v 2.3.26`
        bundler requer a versão do Ruby >= 2.6.0. A versão atual do ruby é 2.5.0.
ux430uq@Asus-UX430UQ:~/discourse$ bundler -v
Versão do Bundler 1.16.1
ux430uq@Asus-UX430UQ:~/discourse$

Como posso consertar isso facilmente? Eu estava tentando instalar 2.6.0, depois 2.7.0, mas sempre há outros problemas com isso.

Conforme alguns dos comentários anteriores, também encontrei algumas dificuldades e erros ao tentar seguir este guia - tentei em um desktop Windows 10 e Windows 11.

Após alguma tentativa e erro, finalmente tenho etapas que resultam em um ambiente de desenvolvimento totalmente funcional no Windows 11, testado na versão mais recente 22H2 e também na próxima Release Preview 23H2 (presumo que também funcionará na versão mais recente do Windows 10).

Se for útil para alguém, acabei de postar o guia aqui:-

Espero que isso ajude pessoas como eu que estão tentando fazer o Discourse funcionar no Windows :smiley:

2 curtidas

Revisei todo este guia oficial novamente para garantir que nada quebrou desde a minha última tentativa.
Instalei o Ubuntu (versão não especificada) via WSL no Windows 11, que instalou a última versão LTS, 22.04 neste caso.

Não encontrei nenhum problema; tudo foi direto, sem erros, e a instalação de desenvolvimento funciona.

Se você tiver problemas para instalar algo usando um de nossos guias oficiais no futuro, por favor, anote os erros e relate-os para nós, é sempre útil :smile:


Dois avisos, no entanto:

Ao instalar o Node.js:

================================================================================
▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
================================================================================

                           AVISO DE DEPRECIAÇÃO DE SCRIPT


  Este script, localizado em https://deb.nodesource.com/setup_X, usado para
  instalar o Node.js está obsoleto agora e eventualmente será desativado.

  Por favor, visite o Github de distribuições NodeSource e siga as
  instruções para migrar seu repositório.
  https://github.com/nodesource/distributions

  O repositório Github de distribuições Linux NodeSource Node.js contém
  informações sobre quais versões do Node.js e quais distribuições Linux
  são suportadas e como instalá-lo.
  https://github.com/nodesource/distributions


                          AVISO DE DEPRECIAÇÃO DE SCRIPT

================================================================================
▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
================================================================================

PARA EVITAR ESTA ESPERA, MIGRE O SCRIPT
Continuando em 60 segundos (pressione Ctrl-C para abortar) ...

Ao executar redis-server --daemonize yes:

# AVISO A sobrealocação de memória deve estar habilitada! Sem ela, um salvamento em segundo plano ou a replicação podem falhar em condições de pouca memória. Sendo desabilitada, também pode causar falhas sem condições de pouca memória, veja https://github.com/jemalloc/jemalloc/issues/1328. Para corrigir este problema, adicione 'vm.overcommit_memory = 1' a /etc/sysctl.conf e então reinicie ou execute o comando 'sysctl vm.overcommit_memory=1' para que isso tenha efeito.

Não sei por que tive tantos problemas então! Talvez houvesse algo estranho na minha instalação do Windows que consegui consertar durante a minha solução de problemas sem perceber! :stuck_out_tongue:

Ainda assim, estou feliz com o que aprendi até agora e ansioso para continuar trabalhando na migração dos meus fóruns para o Discourse.

2 curtidas

Tive que reinstalar o Windows e agora tenho um Windows 11 limpo instalado.
Seguirei o guia e reportarei mais tarde! Terei o guia de @AliBenBongo em mente também.

1 curtida

Aqui está um acompanhamento.

O guia certamente poderia usar uma atualização, mas ainda funciona maravilhosamente bem em um Windows 11 22H2 recém-instalado. :+1:

O único problema que tive foi que, mesmo que o comando wsl estivesse funcionando em um terminal, o recurso WSL na verdade não estava habilitado por padrão:

3 curtidas

Acho que este guia está desatualizado. As etapas mencionadas no guia Ubuntu/Debian não existem mais.

Existe uma maneira de desfazer todas essas etapas, por exemplo, reverter o script de instalação de pacotes, gems e clonagem?

Ainda é necessário instalar o 18.04 sobre o 20.04?

Recebendo erro ao instalar nodejs:

# apt install nodejs

Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 nodejs : Depends: libc6 (>= 2.28) but 2.27-3ubuntu1.6 is to be installed
E: Unable to correct problems, you have held broken packages.```

Falha na instalação do 24.04; o host não consegue conectar à porta 3000

Eu tenho funcionando na versão 24.04. Recomendo compartilhar mais informações sobre como as coisas se apresentam ao iniciar o servidor.

Tente FORCE_HOSTNAME=localhost bin/ember-cli -u, que executará simultaneamente os servidores de back-end e front-end.

(Em trânsito: de memória)