> ## Documentation Index
> Fetch the complete documentation index at: https://docs.airys.chat/llms.txt
> Use this file to discover all available pages before exploring further.

# Configuração de Desenvolvimento no Ubuntu

> Guia completo para configurar seu ambiente de desenvolvimento no Ubuntu para contribuição no AirysChat.

# Configuração de Desenvolvimento no Ubuntu

Este guia ajudará você a configurar seu ambiente de desenvolvimento no Ubuntu para contribuir com o AirysChat. Estas instruções funcionam para o Ubuntu 20.04, 22.04 e versões mais recentes.

## Atualizar Pacotes do Sistema

Abra um terminal e execute os seguintes comandos para atualizar os pacotes do seu sistema:

```bash theme={null}
sudo apt-get update
```

## Instalar o Git

Instale o Git para controle de versão:

```bash theme={null}
sudo apt-get install git
```

Configure o Git com suas informações:

```bash theme={null}
git config --global user.name "Your Name"
git config --global user.email "your.email@example.com"
```

Verifique a instalação do Git:

```bash theme={null}
git --version
```

## Instalar o RVM

Você precisa do software-properties-common instalado para adicionar repositórios PPA:

```bash theme={null}
sudo apt-get install software-properties-common
```

Instale o RVM (Ruby Version Manager):

```bash theme={null}
sudo apt-add-repository -y ppa:rael-gc/rvm
sudo apt-get update
sudo apt-get install rvm
sudo usermod -a -G rvm $USER
```

**Importante**: Habilite `Run command as a login shell` em `Preferences` no terminal. Reinicie o computador após a instalação.

## Instalar o Ruby

As APIs do AirysChat são construídas em Ruby on Rails. Você precisa instalar o Ruby 3.3.3:

```bash theme={null}
rvm install ruby-3.3.3
```

Use o Ruby 3.3.3 como padrão:

```bash theme={null}
rvm use 3.3.3 --default
```

Verifique a instalação do Ruby:

```bash theme={null}
ruby --version
# Should output: ruby 3.3.3
```

## Instalar o Node.js

O AirysChat requer a versão `20` do Node.js. Instale o Node.js do NodeSource usando os seguintes comandos:

```bash theme={null}
curl -sL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt-get install -y nodejs
```

Verifique a instalação do Node.js:

```bash theme={null}
node --version
# Should output: v20.x.x

npm --version
```

## Instalar o pnpm

Usamos o `pnpm` como gerenciador de pacotes:

```bash theme={null}
curl -fsSL https://get.pnpm.io/install.sh | sh -
```

Verifique a instalação do pnpm:

```bash theme={null}
pnpm --version
```

## Instalar o PostgreSQL

O banco de dados usado no AirysChat é o PostgreSQL. Use os seguintes comandos para instalar o PostgreSQL:

```bash theme={null}
sudo apt install postgresql postgresql-contrib
```

O procedimento de instalação cria uma conta de usuário chamada postgres, associada à função padrão do Postgres. Para usar o Postgres, você pode fazer login nessa conta:

```bash theme={null}
sudo -u postgres psql
```

Instale as dependências do `libpq-dev` para o Ubuntu:

```bash theme={null}
sudo apt-get install libpq-dev
```

Verifique a instalação do PostgreSQL:

```bash theme={null}
psql --version
```

## Instalar o Servidor Redis

O AirysChat usa o servidor Redis nas atribuições de agentes e relatórios. Você precisa instalar o `redis-server`:

```bash theme={null}
sudo apt-get install redis-server
```

Em seguida, habilite o Redis para iniciar na inicialização do sistema:

```bash theme={null}
sudo systemctl enable redis-server.service
```

Verifique a instalação do Redis:

```bash theme={null}
redis-cli ping
# Should output: PONG
```

## Instalar o ImageMagick

Instale o ImageMagick para processamento de imagens:

```bash theme={null}
sudo apt-get install imagemagick
```

Verifique a instalação do ImageMagick:

```bash theme={null}
convert --version
```

## Solução de Problemas Comuns

<Accordion title="A instalação do RVM falha">
  **Solução**: Certifique-se de ter reiniciado o computador e ativado "Run command as a login shell":

  ```bash theme={null}
  # Check if RVM is loaded
  rvm --version

  # If not found, try loading manually
  source ~/.rvm/scripts/rvm
  ```
</Accordion>

<Accordion title="A instalação do Ruby falha">
  **Solução**: Instale as dependências ausentes:

  ```bash theme={null}
  sudo apt-get install autoconf bison build-essential libssl-dev libyaml-dev libreadline6-dev zlib1g-dev libncurses5-dev libffi-dev libgdbm6 libgdbm-dev libdb-dev
  rvm reinstall ruby-3.3.3
  ```
</Accordion>

<Accordion title="Problemas de conexão com o PostgreSQL">
  **Solução**: Configure o usuário e o banco de dados PostgreSQL:

  ```bash theme={null}
  # Switch to postgres user and create a superuser
  sudo -u postgres createuser --superuser $USER

  # Set password for your user
  sudo -u postgres psql -c "ALTER USER $USER PASSWORD 'password';"

  # Create a database for your user
  sudo -u postgres createdb $USER
  ```
</Accordion>

<Accordion title="Problemas na instalação do Node.js">
  **Solução**: Limpe o cache e reinstale:

  ```bash theme={null}
  sudo apt-get remove nodejs npm
  sudo apt-get autoremove
  curl -sL https://deb.nodesource.com/setup_20.x | sudo -E bash -
  sudo apt-get install -y nodejs
  ```
</Accordion>

<Accordion title="Erros de permissão negada">
  **Solução**: Corrija a propriedade de diretórios comuns:

  ```bash theme={null}
  sudo chown -R $USER:$USER ~/.npm
  sudo chown -R $USER:$USER ~/.pnpm-store
  ```
</Accordion>

## Obtendo Ajuda

Se você encontrar problemas:

* **Erros Comuns**: Verifique [Erros Comuns](/contributing-guide/common-errors)
* **Comunidade no Discord**: Junte-se ao nosso [Discord](https://discord.com/invite/cJXdrwS)
* **Issues do GitHub**: [Crie uma issue](https://github.com/airyschat/airyschat/issues)
* **Comunidade do Ubuntu**: [Fóruns do Ubuntu](https://ubuntuforums.org/)

***

Seu ambiente de desenvolvimento no Ubuntu agora está pronto para o desenvolvimento do AirysChat! 🐧
