Comment résoudre l'erreur "/Usr/Bin/Env: Node: No Such File Or Directory" ?

Publié 17 octobre 2024

Problème : Erreur de chemin de fichier Node.js

L'erreur "/usr/bin/env: node: No such file or directory" se produit lorsque vous essayez d'exécuter un script Node.js. Cette erreur signifie que votre système ne trouve pas le programme Node.js là où il s'attend à le trouver, donc le script ne peut pas s'exécuter.

Diagnostic de la cause principale

Pour résoudre l'erreur "/usr/bin/env: node: No such file or directory", vous devez déterminer pourquoi votre système ne peut pas localiser l'exécutable Node.js. Voici trois points à vérifier :

  1. Vérifier l'installation de Node.js : Assurez-vous que Node.js est installé sur votre système. Ouvrez un terminal et tapez node -v. Si Node.js est installé, cette commande affichera le numéro de version. Si vous voyez un message "command not found", cela signifie que Node.js n'est pas installé ou n'est pas dans le PATH de votre système.

  2. Vérifier les variables d'environnement : Votre système utilise des variables d'environnement pour localiser les fichiers exécutables. Vérifiez si le répertoire Node.js est dans votre variable PATH. Vous pouvez le faire en exécutant echo $PATH dans le terminal. Recherchez le répertoire d'installation de Node.js dans la sortie.

  3. Examiner les chemins système : Node.js est souvent installé dans /usr/bin/node ou /usr/local/bin/node. Vérifiez ces emplacements pour voir si l'exécutable Node.js est présent. Vous pouvez utiliser la commande ls pour lister le contenu du répertoire, comme ceci : ls /usr/bin/node* ou ls /usr/local/bin/node*.

Conseil: Utilisez la commande 'which' pour localiser Node.js

Si vous n'êtes pas sûr de l'emplacement exact de votre installation Node.js, vous pouvez utiliser la commande 'which'. Ouvrez un terminal et tapez :

which node

Cette commande retournera le chemin vers l'exécutable Node.js s'il est correctement installé et dans le PATH de votre système. Si elle ne renvoie rien, cela confirme que Node.js n'est pas dans votre PATH ou n'est pas installé correctement.

Solution principale : Créer un lien symbolique

Créer un lien symbolique est un moyen rapide de résoudre l'erreur "/usr/bin/env: node: No such file or directory". Cette méthode crée un lien symbolique entre l'exécutable Node.js et l'emplacement où le système s'attend à le trouver. Voici comment procéder :

Étapes pour créer un lien symbolique

  1. Ouvrez le terminal : Lancez votre application de terminal. Sur la plupart des systèmes Ubuntu, appuyez sur Ctrl+Alt+T.

  2. Exécutez la commande de lien symbolique : Tapez cette commande et appuyez sur Entrée :

    sudo ln -s /usr/bin/nodejs /usr/bin/node

    Cette commande crée un lien symbolique de /usr/bin/nodejs (où Node.js est souvent installé sur les systèmes Ubuntu) vers /usr/bin/node (où le système le recherche).

  3. Vérifiez la création du lien symbolique : Pour vérifier si le lien symbolique a été créé, utilisez cette commande :

    ls -l /usr/bin/node

    Si réussi, vous verrez une sortie montrant que /usr/bin/node est lié à /usr/bin/nodejs.

Après avoir créé le lien symbolique, essayez d'exécuter à nouveau votre script Node.js. L'erreur devrait être corrigée et votre script devrait s'exécuter sans l'erreur "No such file or directory".

Si vous rencontrez toujours des problèmes, vérifiez que Node.js est correctement installé et que le chemin dans la commande de lien symbolique correspond à l'emplacement réel de votre installation Node.js.

Conseil: Vérifiez le chemin d'installation de Node.js

Avant de créer le lien symbolique, vérifiez l'emplacement réel de votre installation Node.js. Vous pouvez le faire en exécutant :

which nodejs

Cette commande vous montrera le chemin où Node.js est installé. Utilisez ce chemin dans votre commande de lien symbolique pour vous assurer que vous faites le lien vers le bon emplacement.

Solutions alternatives

Réinstaller Node.js

Si la création d'un lien symbolique ne résout pas le problème, vous devrez peut-être réinstaller Node.js. Voici comment faire :

  1. Supprimez l'installation existante de Node.js : Ouvrez un terminal et exécutez ces commandes :

    sudo apt-get purge nodejs npm
    sudo apt-get autoremove
  2. Installez la dernière version : Utilisez ces commandes pour ajouter le dépôt NodeSource et installer Node.js :

    curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash -
    sudo apt-get install -y nodejs
  3. Mettez à jour les chemins système : Après l'installation, vérifiez si Node.js est dans votre chemin système :

    echo $PATH

    Si le répertoire Node.js n'est pas listé, ajoutez-le à votre PATH dans le fichier ~/.bashrc :

    echo 'export PATH=$PATH:/usr/bin' >> ~/.bashrc
    source ~/.bashrc

Conseil: Vérifiez l'installation de Node.js

Après avoir réinstallé Node.js, vérifiez l'installation en vérifiant la version :

node --version
npm --version

Cela confirme que Node.js et npm sont correctement installés et accessibles depuis la ligne de commande.

Utiliser Node Version Manager (NVM)

NVM est un outil qui vous permet de gérer plusieurs versions de Node.js sur votre système.

  1. À propos de NVM : NVM vous permet d'installer et de basculer entre différentes versions de Node.js. C'est utile pour tester votre code avec diverses versions de Node.js.

  2. Installation de NVM : Pour installer NVM, exécutez cette commande dans votre terminal :

    curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash

    Après l'installation, fermez et rouvrez votre terminal ou exécutez source ~/.bashrc.

  3. Gestion des versions de Node.js avec NVM :

    • Pour installer la dernière version de Node.js :
      nvm install node
    • Pour installer une version spécifique :
      nvm install 14.17.0
    • Pour basculer entre les versions :
      nvm use 14.17.0
    • Pour définir une version par défaut :
      nvm alias default 14.17.0

L'utilisation de NVM peut aider à éviter les problèmes liés aux chemins et vous donne plus d'options pour gérer les versions de Node.js.

Exemple: Utilisation de NVM pour une version Node.js spécifique à un projet

Si vous travaillez sur un projet qui nécessite une version spécifique de Node.js :

  1. Créez un fichier .nvmrc dans la racine de votre projet :

    echo "14.17.0" > .nvmrc
  2. Lorsque vous naviguez vers le répertoire de votre projet, utilisez :

    nvm use

NVM lira le fichier .nvmrc et basculera automatiquement vers la version Node.js spécifiée pour ce projet.