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

# Sistemas operacionais suportados

As integrações do AppSignal para Ruby, Elixir e Node.js contêm extensões nativas e um processo de agente leve separado. Essas extensões nativas são suportadas na maioria das distribuições Linux, FreeBSD e macOS/OSX. Nossas integrações Go e Python usam apenas nosso processo de agente e não requerem pacotes adicionais para serem instalados. Como as outras integrações, elas só funcionam nos Sistemas Operacionais suportados listados na [tabela de suporte](#support-table).

Se um Sistema Operacional que você usa não é suportado, por favor [entre em contato][support].

## Tabela de suporte

Tabela das diferentes combinações de Sistemas Operacionais e arquiteturas que suportamos. Verifique as notas abaixo da tabela para quaisquer exceções e requisitos de versão.

### Integrações

Nossas integrações incluem: [gem Ruby](/ruby), [pacote Elixir](/elixir), [pacote Node.js](/nodejs) e [pacote Python](/python).

|                                                                    | x86 32-bit                                             | x86 64-bit                                             | ARM 64-bit                                                            |
| ------------------------------------------------------------------ | ------------------------------------------------------ | ------------------------------------------------------ | --------------------------------------------------------------------- |
| [macOS/OSX](#macos) <sup>1</sup>                                   |                                                        | <center><Icon icon="check" color="#22c55e" /></center> | <center><Icon icon="check" color="#22c55e" /></center>                |
| [Linux](#linux)                                                    |                                                        |                                                        |                                                                       |
|    - [Alpine Linux](#alpine-linux)                                 |                                                        | <center><Icon icon="check" color="#22c55e" /></center> | <center>  <Icon icon="check" color="#22c55e" /> <sup>2</sup></center> |
|    - [CentOS](#centos)                                             | <center><Icon icon="check" color="#22c55e" /></center> | <center><Icon icon="check" color="#22c55e" /></center> | <center><Icon icon="check" color="#22c55e" /></center>                |
|    - [Debian / Ubuntu](#debian-ubuntu)                             | <center><Icon icon="check" color="#22c55e" /></center> | <center><Icon icon="check" color="#22c55e" /></center> | <center><Icon icon="check" color="#22c55e" /></center>                |
|    - [Fedora](#fedora)                                             | <center><Icon icon="check" color="#22c55e" /></center> | <center><Icon icon="check" color="#22c55e" /></center> | <center><Icon icon="check" color="#22c55e" /></center>                |
| [FreeBSD](#freebsd) <sup>1 3</sup>                                 |                                                        | <center>?</center>                                     |                                                                       |
| [Microsoft Windows](#microsoft-windows)<sup>4</sup>                |                                                        |                                                        |                                                                       |
|    - [Subsystem for Linux](#microsoft-windows-subsystem-for-linux) |                                                        | <center>? <sup>4</sup></center>                        |                                                                       |

* `1`: Não suporta [métricas de host][host-metrics].
* `2`: Não suportado para nossa integração Node.js.
* `3`: Nível de suporte não claro, veja [FreeBSD](#freeBSD).
* `4`: Não funciona nativamente no [Windows](#microsoft-windows). O AppSignal não oferece suporte oficial ao [Windows Subsystem for Linux](#microsoft-windows-subsystem-for-linux).

### Componentes

Componentes adicionais incluem: [Collector](/collector), [Standalone agent](/standalone-agent/installation/docker-image), [Wrap](/wrap).

|                               | x86 64-bit                                                          | ARM 64-bit                                                          |
| ----------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- |
| macOS/OSX                     | <center><Icon icon="check" color="#22c55e" /></center>              | <center><Icon icon="check" color="#22c55e" /></center>              |
| Linux                         |                                                                     |                                                                     |
|    - Alpine Linux             | <center><Icon icon="check" color="#22c55e" /> <sup>1</sup></center> | <center><Icon icon="check" color="#22c55e" /> <sup>1</sup></center> |
|    - CentOS                   | <center><Icon icon="check" color="#22c55e" /></center>              | <center><Icon icon="check" color="#22c55e" /></center>              |
|    - Debian / Ubuntu          | <center><Icon icon="check" color="#22c55e" /></center>              | <center><Icon icon="check" color="#22c55e" /></center>              |
| Microsoft Windows<sup>2</sup> |                                                                     |                                                                     |
|    - Subsystem for Linux      | <center>? <sup>2</sup></center>                                     | <center>? <sup>2</sup></center>                                     |
| Imagem Docker                 | <center><Icon icon="check" color="#22c55e" /> <sup>3</sup></center> | <center><Icon icon="check" color="#22c55e" /> <sup>3</sup></center> |

Nenhuma dependência adicional precisa ser instalada para esses componentes, a menos que listada em seus guias de instalação.

* `1`: Alpine Linux é suportado apenas pelo [Wrap](/wrap).
* `2`: Não funciona nativamente no [Windows](#microsoft-windows). O AppSignal não oferece suporte oficial ao [Windows Subsystem for Linux](#microsoft-windows-subsystem-for-linux).
* `3`: O [Wrap](/wrap) não está disponível como uma imagem Docker.

## Linux

O AppSignal tenta suportar o Linux da melhor forma possível, mas algumas mudanças em nosso processo de compilação causaram alguns problemas com o suporte a certas distribuições e versões do Linux. Nosso agente e extensão são compilados contra a libc, e baseado em qual versão da libc compilamos, suportamos certas versões antigas de distribuições Linux e outras não.

### Versões suportadas

O suporte do AppSignal para versões da libc mudou ao longo das últimas versões do gem Ruby e do pacote Elixir.

Esta é a lista de versões da libc/musl contra as quais o AppSignal foi compilado nas últimas versões de nossas integrações:

* AppSignal para Ruby `v1.0.0` - `v2.0.x`<br />
  AppSignal para Elixir `v0.0.x` - `v0.10.x`
  * libc `v2.5`
  * musl `N/A`
* AppSignal para Ruby `v2.1.x` - `v2.3.x`<br />
  AppSignal para Elixir `v0.11.x` - `v1.3.x`
  * libc `N/A` - veja o problema conhecido [Timeouts de DNS](/support/known-issues/dns-timeouts).
  * musl `v1.1.16`
* AppSignal para Ruby `v2.4.x` e superior<br />
  AppSignal para Elixir `v1.4.x` e superior<br />
  AppSignal para Node.js `v1.0.0` e superior<br />
  AppSignal para Python `v0.1.0` e superior
  * libc `v2.15`
  * musl `v1.1.16`

Se seu sistema usa uma versão mais antiga da libc do que a extensão AppSignal foi compilada, você terá problemas ao instalar ou executar o agente AppSignal. Se for esse o caso, você pode [optar pela compilação musl](#musl-build-override), que não tem esse problema. Isso não deveria mais ser um problema para o gem AppSignal Ruby `v2.4.1` e o pacote Elixir `v1.4.3` e superiores, nesses pacotes foi adicionada detecção automática para versões mais antigas da libc e eles mudarão automaticamente para a compilação musl.

**Aviso para JRuby**: O suporte ao JRuby no Alpine Linux (compilação musl) é suportado desde o gem Ruby `2.8.0`. Esse cenário requer uma compilação dinâmica da extensão AppSignal, que não é suportada para a compilação musl em versões mais antigas do gem.

Você pode ver qual versão da libc seu sistema usa executando o seguinte comando: `ldd --version 2>&1`

Exemplo de saída no Ubuntu 12.04:

<CodeGroup>
  ```bash Bash theme={null}
  $ ldd --version 2>&1
  ldd (Ubuntu EGLIBC 2.15-0ubuntu10.18) 2.15
  Copyright (C) 2012 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.
  Written by Roland McGrath and Ulrich Drepper.
  ```
</CodeGroup>

### Sobrescrita da compilação musl

Para optar pela compilação musl manualmente, adicione a variável de ambiente `APPSIGNAL_BUILD_FOR_MUSL` ao seu ambiente de sistema antes de instalar o AppSignal e compilar sua aplicação. Esta variável de ambiente só é necessária se nossa detecção automática não detectar a arquitetura correta.

<CodeGroup>
  ```sh Shell theme={null}
  # Para Ruby
  export APPSIGNAL_BUILD_FOR_MUSL=1
  gem install appsignal
  # ou com Bundler
  bundle install

  # Para Elixir
  export APPSIGNAL_BUILD_FOR_MUSL=1
  mix deps.get
  mix compile

  # Para Node.js
  export APPSIGNAL_BUILD_FOR_MUSL=1
  npm install

  # Para Python
  # Não suportado
  ```
</CodeGroup>

### Sobrescrita da compilação Linux ARM

Os pacotes AppSignal detectarão automaticamente hosts baseados em ARM e selecionarão o agente e a extensão para instalar em sistemas ARM.

Quando essa detecção não funcionar, opte pela compilação Linux ARM manualmente com a variável de ambiente `APPSIGNAL_BUILD_FOR_LINUX_ARM`. Adicione-a ao seu ambiente de sistema antes de instalar o AppSignal e compilar sua aplicação. Esta variável de ambiente só é necessária se nossa detecção automática não detectar a arquitetura correta.

<Tip>
  Disponível nesses pacotes:

  * Gem Ruby 3.0.8 ou mais recente.
  * Pacote Elixir 2.1.8 ou mais recente.
  * Pacote Node.js 1.2.6 ou mais recente.

  Não suportado em nosso pacote Python.
</Tip>

<CodeGroup>
  ```sh Shell theme={null}
  # Defina esta variável de ambiente
  # Nota: Como variáveis de ambiente são definidas pode ser diferente para seu
  # Sistema Operacional.
  export APPSIGNAL_BUILD_FOR_LINUX_ARM=1
  # Execute o comando de instalação, como: bundle install, npm install, mix compile
  ```
</CodeGroup>

### Alpine Linux

* Ruby: suporta [Alpine Linux] desde a versão `2.1.0` do gem Ruby. (JRuby não é suportado no Alpine Linux.)
* Elixir: suporta [Alpine Linux] desde a versão `0.11.0` do pacote Elixir.
* Node.js: suporta [Alpine Linux] desde a versão `3.0.2` do pacote Node.js. Não suportado para Node.js versão `14`.

No AppSignal para Ruby versão `2.4.0` e AppSignal para Elixir `1.4.0`, começamos a entregar uma compilação separada para Alpine Linux. Se você fez upgrade de uma versão anterior e está tendo problemas para compilar sua aplicação, nossa detecção não está funcionando corretamente.

As seguintes dependências de sistema são necessárias para o Alpine Linux:

<CodeGroup>
  ```sh Shell theme={null}
  # Dependências para o gem AppSignal Ruby
  apk add make gcc musl-dev musl-utils

  # Dependências para o pacote AppSignal Node.js
  apk add python3 make g++

  # Dependências para o pacote AppSignal para Elixir versão 1.7.0 e mais recentes
  apk add make gcc musl-dev musl-utils
  # Dependências para o pacote AppSignal para Elixir versão 1.6.3 e mais antigas
  apk add make gcc musl-dev musl-utils curl
  ```
</CodeGroup>

Para todas as integrações, a detecção é baseada na saída de `ldd --version`.

Se sua aplicação não conseguir chamar o programa `ldd` ou se a detecção estiver errada por algum motivo, você pode forçar a compilação compatível com Alpine Linux fornecendo uma variável de ambiente especial na instalação.

<CodeGroup>
  ```sh Shell theme={null}
  # Para Ruby
  export APPSIGNAL_BUILD_FOR_MUSL=1
  gem install appsignal
  # ou com Bundler
  bundle install

  # Para Elixir
  export APPSIGNAL_BUILD_FOR_MUSL=1
  mix deps.get
  mix compile

  # Para Node.js
  export APPSIGNAL_BUILD_FOR_MUSL=1
  npm install
  ```
</CodeGroup>

#### Ruby {/* id: alpine-linux-ruby */}

Para o gem Ruby, adicione isto ao seu `Gemfile`:

<CodeGroup>
  ```ruby Ruby theme={null}
  gem "appsignal", ">= 2.1.0" # ou uma versão mais recente
  ```
</CodeGroup>

Para a versão mais recente disponível, veja a lista completa em [RubyGems.org](https://rubygems.org/gems/appsignal/versions) e, se tiver problemas, por favor [nos avise][support].

#### Elixir {/* id: alpine-linux-elixir */}

Se você estiver usando o pacote Elixir, adicione isto à seção `deps` do seu arquivo
`mix.exs`:

<CodeGroup>
  ```elixir Elixir theme={null}
  {:appsignal, ">= 1.0.0"} # ou uma versão mais recente
  ```
</CodeGroup>

Para a versão mais recente disponível, veja a lista completa em [Hex.pm](https://hex.pm/packages/appsignal) e, se tiver problemas, por favor [nos avise][support].

#### Node.js {/* id: alpine-linux-nodejs */}

Se você estiver usando o pacote Node.js, adicione isto à seção `dependencies` do seu
arquivo `package.json`:

```text Text theme={null}
"@appsignal/nodejs": "^3.0.2"
```

Para a versão mais recente disponível, veja a lista completa em [NPM](https://www.npmjs.com/package/@appsignal/nodejs) e, se tiver problemas, por favor [nos avise][support].

### CentOS

O CentOS é totalmente suportado pela extensão AppSignal. Dependendo da sua versão do CentOS, você pode precisar selecionar outro tipo de compilação para o gem AppSignal Ruby `v2.4.0` e AppSignal para Elixir `v1.4.0` e superiores.

As seguintes dependências de sistema são necessárias para o CentOS:

<CodeGroup>
  ```sh Shell theme={null}
  # Dependências para o gem AppSignal Ruby e o pacote Node.js
  yum install gcc gcc-c++ make openssl-devel

  # Dependências para o pacote AppSignal para Elixir versão 1.7.0 e mais recentes
  yum install gcc gcc-c++ make openssl-devel
  # Dependências para o pacote AppSignal para Elixir versão 1.6.3 e mais antigas
  yum install gcc gcc-c++ make openssl-devel curl

  # Dependências para o pacote AppSignal para Node.js versão 2.3.4 ou mais recente, as versões suportadas do Python são as entre Python 3.7 e Python 3.10.
  # Dependências para o pacote AppSignal para Node.js versão 2.3.3 ou anterior, as versões suportadas do Python são as entre Python 3.5 e Python 3.8.
  yum install python3
  ```
</CodeGroup>

Para CentOS 7 e superior, não há problema em fazer upgrade para o AppSignal para Ruby `v2.4.0` e AppSignal para Elixir `1.4.0` e superiores.

Para CentOS 6 e versões mais antigas, você precisará optar pela compilação musl para o AppSignal em vez disso. Para mais informações, veja a [seção Linux](#linux).

### Debian / Ubuntu {/* id: debian-ubuntu */}

As seguintes dependências de sistema são necessárias para distribuições Linux Debian:

<CodeGroup>
  ```sh Shell theme={null}
  # Dependências para o gem AppSignal Ruby e o pacote Node.js
  apt-get update
  apt-get install build-essential ca-certificates

  # Dependências para o pacote AppSignal para Elixir versão 1.7.0 e mais recentes
  apt-get update
  apt-get install build-essential ca-certificates
  # Dependências para o pacote AppSignal para Elixir versão 1.6.3 e mais antigas
  apt-get update
  apt-get install build-essential ca-certificates curl

  # Dependências para o pacote AppSignal para Node.js versão 2.3.4 ou mais recente, as versões suportadas do Python são as entre Python 3.7 e Python 3.10.
  # Dependências para o pacote AppSignal para Node.js versão 2.3.3 ou anterior, as versões suportadas do Python são as entre Python 3.5 e Python 3.8.
  apt-get install python3
  ```
</CodeGroup>

### Fedora

As seguintes dependências de sistema são necessárias para distribuições Linux Fedora:

<CodeGroup>
  ```sh Shell theme={null}
  # Dependências para o gem AppSignal Ruby
  dnf install gcc gcc-c++ make openssl-devel

  # Dependências para o pacote AppSignal para Elixir versão 1.7.0 e mais recentes
  dnf install gcc gcc-c++ make openssl-devel
  # Dependências para o pacote AppSignal para Elixir versão 1.6.3 e mais antigas
  dnf install gcc gcc-c++ make openssl-devel curl

  # Dependências para o pacote AppSignal para Node.js versão 2.3.4 ou mais recente, as versões suportadas do Python são as entre Python 3.7 e Python 3.10.
  # Dependências para o pacote AppSignal para Node.js versão 2.3.3 ou anterior, as versões suportadas do Python são as entre Python 3.5 e Python 3.8.
  dnf install python3
  ```
</CodeGroup>

## FreeBSD

<Warning>
  Nosso nível de suporte ao FreeBSD não é claro no momento. Nossos testes mostram que funciona no
  FreeBSD 11, mas não conseguimos vê-lo reportar dados no FreeBSD 12 e
  mais recentes. Assuma que não reportará dados no FreeBSD 12 e mais recentes.
</Warning>

O suporte para sistemas FreeBSD foi adicionado no gem AppSignal para Ruby `2.4.0` e no pacote AppSignal para Elixir `1.4.0`. Atualmente, não suporta o recurso de [métricas de host][host-metrics].

As seguintes dependências de sistema são necessárias para distribuições Linux FreeBSD:

<CodeGroup>
  ```sh Shell theme={null}
  pkg install gcc gmake openssl-devel

  # Dependências para o pacote AppSignal para Node.js versão 2.3.4 ou mais recente, as versões suportadas do Python são as entre Python 3.7 e Python 3.10.
  # Dependências para o pacote AppSignal para Node.js versão 2.3.3 ou anterior, as versões suportadas do Python são as entre Python 3.5 e Python 3.8.
  pkg install python3
  ```
</CodeGroup>

## macOS

macOS (OS X) `10.14.x` e superior é suportado pelo AppSignal para Ruby, Elixir e Node.js. Atualmente, não suporta o recurso de [métricas de host][host-metrics].

Certifique-se de que o Xcode esteja instalado com as ferramentas de compilação de linha de comando.

<CodeGroup>
  ```sh Shell theme={null}
  xcode-select --install

  # Dependências para o pacote AppSignal para Node.js versão 2.3.4 ou mais recente, as versões suportadas do Python são as entre Python 3.7 e Python 3.10.
  # Dependências para o pacote AppSignal para Node.js versão 2.3.3 ou anterior, as versões suportadas do Python são as entre Python 3.5 e Python 3.8.
  brew install python@3
  ```
</CodeGroup>

## Microsoft Windows

Atualmente, não temos planos de suportar o Sistema Operacional [Microsoft Windows](https://www.microsoft.com/en-us/windows/). Tentamos tornar as bibliotecas AppSignal instaláveis no Microsoft Windows sem erros ou problemas de compilação, para que a aplicação em que estão instaladas continue operando.

Se você usa o Microsoft Windows e gostaria que o suportássemos, [envie-nos um e-mail][support].

### Ruby

Para instalar o gem AppSignal Ruby no Microsoft Windows, certifique-se de ter o DevKit do [RubyInstaller](https://rubyinstaller.org/) instalado antes de instalar o AppSignal. Caso contrário, ocorrerá o seguinte erro durante a instalação de nossa extensão em C. Não instalaremos a extensão em C no Microsoft Windows, mas a instalação do Ruby detecta que faz parte do gem e não continuará sem o DevKit.

<CodeGroup>
  ```sh Shell theme={null}
  $ gem install appsignal
  Fetching appsignal 2.2.1
  Installing appsignal 2.2.1 with native extensions
  Gem::InstallError: The 'appsignal' native gem requires installed build tools.
  Please update your PATH to include build tools or download the DevKit
  from 'http://rubyinstaller.org/downloads' and follow the instructions
  at 'http://github.com/oneclick/rubyinstaller/wiki/Development-Kit'
  ```
</CodeGroup>

### Microsoft Windows Subsystem for Linux

<Warning>
  Não fornecemos suporte para o Microsoft Windows Subsystem for Linux.
</Warning>

O [Microsoft Windows Subsystem for Linux](https://docs.microsoft.com/en-us/windows/wsl/about) (WSL) é uma camada entre o Microsoft Windows e uma distribuição [Linux](#linux). Isso permite que usuários executem certas distribuições GNU/Linux, que estão disponíveis na Microsoft Store, em seu computador Microsoft Windows.

Executar uma aplicação no WSL usando uma integração AppSignal não causará erros ou problemas de compilação, conforme descrito na [seção Microsoft Windows](#microsoft-windows).

Executar o AppSignal no WSL funcionará tão bem quanto o WSL o suportar. Siga as etapas para sua [distribuição Linux](#linux) nesta página no ambiente WSL para instalar corretamente as dependências do AppSignal, antes de instalar o AppSignal em sua aplicação.

Em nossos testes usando o Ubuntu WSL, descobrimos que a maioria dos recursos do AppSignal funcionarão, mas não podemos dizer quão precisas são as informações coletadas dele. Algumas pequenas diferenças entre a implementação do WSL e nossas configurações de teste Linux podem causar comportamento estranho ou relatórios imprecisos de métricas. Não testamos ativamente contra o WSL e não podemos garantir sua operação bem-sucedida. <u>Não fornecemos suporte para o AppSignal no WSL.</u>

Nem todos os recursos do AppSignal funcionarão no sistema WSL, em nossos testes confirmamos que [métricas de host](/metrics/host-metrics) para discos (uso e I/O) não funcionam.

Use o sistema WSL para testar a integração do AppSignal com sua aplicação em um ambiente de desenvolvimento, mas não use essa configuração em um ambiente de produção. Sempre teste sua aplicação usando o AppSignal em um ambiente de homologação com um ambiente (Sistema Operacional) similar ao ambiente de produção da aplicação primeiro.

[alpine linux]: https://alpinelinux.org/

[musl]: https://www.musl-libc.org/

[rust]: https://www.rust-lang.org/en-US/

[host-metrics]: /metrics/host-metrics.html

[support]: mailto:support@appsignal.com
