> ## 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.

# AppSignal pour Elixir : outil de vérification de l'installation

export const VersionRequirements = ({versions = []}) => {
  if (!Array.isArray(versions) || versions.length === 0) {
    return null;
  }
  const boundaries = {
    upper: " or lower",
    exact: "",
    lower: " or higher"
  };
  const containerStyle = {
    marginTop: "0.5rem",
    marginBottom: "1.5rem"
  };
  const lineStyle = {
    display: "block",
    margin: "0 0 0.35rem 0",
    fontSize: "0.875rem",
    lineHeight: "1.4"
  };
  const pillBaseStyle = {
    display: "inline-block",
    padding: "0.1em 0.4em",
    borderRadius: "0.25rem",
    border: "1px solid",
    fontFamily: "ui-monospace, SFMono-Regular, Menlo, monospace",
    fontSize: "0.85em",
    fontWeight: 500
  };
  const pillColors = {
    "AppSignal for Elixir": {
      background: "#f3e8ff",
      borderColor: "#e9d5ff",
      color: "#9333ea"
    },
    "AppSignal for Front-end": {
      background: "#fef9c3",
      borderColor: "#fde68a",
      color: "#ca8a04"
    },
    "AppSignal for Go": {
      background: "#ccfbf1",
      borderColor: "#99f6e4",
      color: "#0d9488"
    },
    "AppSignal for JavaScript": {
      background: "#fef9c3",
      borderColor: "#fde68a",
      color: "#ca8a04"
    },
    "AppSignal for Node.js": {
      background: "#dcfce7",
      borderColor: "#bbf7d0",
      color: "#16a34a"
    },
    "AppSignal for Python": {
      background: "#dbeafe",
      borderColor: "#bfdbfe",
      color: "#2563eb"
    },
    "AppSignal for Ruby": {
      background: "#fee2e2",
      borderColor: "#fecaca",
      color: "#dc2626"
    },
    "AppSignal for Rust": {
      background: "#ffedd5",
      borderColor: "#fed7aa",
      color: "#ea580c"
    }
  };
  const defaultPillColor = {
    background: "#f4f4f5",
    borderColor: "#e4e4e7",
    color: "#52525b"
  };
  const getPillStyle = name => ({
    ...pillBaseStyle,
    ...pillColors[name] || defaultPillColor
  });
  const getBoundText = bound => {
    return boundaries[bound] || boundaries.lower;
  };
  return <div style={containerStyle}>
      {versions.map((v, i) => <p key={`${v.name}-${v.version}-${v.bound || "lower"}-${i}`} style={lineStyle}>
          This feature requires{" "}
          <code style={getPillStyle(v.name)}>{v.name}</code> version {v.version}
          {getBoundText(v.bound)}.
        </p>)}
    </div>;
};

<VersionRequirements
  versions={[
{ name: "AppSignal for Elixir", version: "2.15.3" }
]}
/>

Le paquet AppSignal pour Elixir est livré avec un outil en ligne de commande permettant de vérifier que l'extension du paquet ([un NIF](/elixir/why-nif)) a bien été installée.

Notre paquet ne génère pas d'erreur ni n'interrompt les builds lorsque l'extension n'est pas correctement installée.
Ce comportement est *intentionnel*.

Nous préférons ne pas envoyer de données à AppSignal plutôt que de voir des applications entières s'arrêter parce que notre extension n'a pas pu être installée.

Nous savons qu'il n'est pas toujours facile de vérifier si notre paquet et son extension ont été correctement installés.
Dans certains cas, faire échouer un build ou un déploiement lorsque cela se produit est la meilleure approche. L'outil check install peut vous y aider.

Si vous voulez que le build échoue lorsque notre extension n'est pas correctement installée, vous pouvez exécuter la tâche de vérification de l'installation dans votre CI (intégration continue) ou votre processus de déploiement comme décrit ci-dessous.
La commande échouera avec le code d'état `1` lorsque l'extension n'est pas correctement installée.

## Utilisation

Dans la ligne de commande de votre projet, exécutez :

<CodeGroup>
  ```bash Bash theme={null}
  mix appsignal.check_install
  ```
</CodeGroup>

### Avec un binaire de release

Dans la ligne de commande de votre projet, exécutez :

<CodeGroup>
  ```bash Bash theme={null}
  bin/your_app command appsignal_tasks check_install
  ```
</CodeGroup>

## Codes de sortie

* Sort avec le code d'état `0` si l'installation de l'extension a réussi.
* Sort avec le code d'état `1` si l'installation de l'extension a échoué.
