Installer globalement des packages avec npm sur Mac (Intel & M1)

Installer globalement des packages avec npm sur Mac (Intel & M1)

Bienvenue dans ce tutoriel qui me tenait vraiment à coeur. Ayant passé environ un week-end à faire fonctionner Node.js et npm sur mon nouveau Mac Mini M1, je me suis dit qu’il serait bien d’épargner ce moment insupportable au plus de monde possible.

Premièrement, je vais vous expliquer quel était mon problème. En effet, à priori, installer Node.js et npm ne prend pas plus de cinq minutes… Et ça a été mon cas.
Je me suis rendu sur le site officiel de npm (rappel : quand on installe npm on installe Node.js en même temps), j’ai suivi toutes les étapes, et tout était OK (enfin pas pour longtemps).
Quand je tapais la commande npm -v et node-v, j’avais bien comme retour les dernières versions disponibles. Le fameux problème est uniquement apparu au moment d’installer un package globalement

Quand je renseignais la commande d’installation d’un package de façon globale :

npm install sass -g

Cela n’indiquait aucune erreur, mais par contre je ne pouvais pas accéder au package que je venais d’installer !
Si vous rencontrez cette erreur, cet article est fait pour vous. Ce tutoriel peut également vous intéresser si vous n’avez pas encore installé Node.js et npm sur votre Mac, car on va tout reprendre depuis le début pour l’installer correctement.

Installer node.js et npm correctement grâce à Homebrew

Notre sauveur s’appelle Homebrew, ce gestionnaire de paquets est d’une grande utilité pour les développeurs sur MacOS. Il nous permet de faire des installations soignées, sans s’occuper des problèmes de droits / permissions.

Sachez que si vous avez déjà installé Node.js et npm via le site officiel, alors il est possible que les installer via Homebrew ne résolve pas le problème (même si vous avez essayé de les désinstaller entièrement). C’était mon cas lorsque j’ai rencontré le soucis et la seule solution était donc de… réinitialiser complètement mon Mac.
Ce problème n’arrivera peut-être pas à tout le monde (et tant mieux), mais je voulais quand même vous partager cette information qui pourra sans doute aider certains.

Pour installer Homebrew, vous devez obligatoirement avoir Xcode installé dans le terminal. Pour ça, il suffit de rentrer la commande suivante :

xcode-select --install

Vous devrez alors accepter leur politique de confidentialité. Pour ça rien de plus simple, il faut juste suivre les instruction (il faut copier / coller la commande qu’ils vous donnent).

Maintenant, vous pouvez enfin installer Homebrew ! Rendez-vous dans le terminal et entrez la commande visible en premier sur leur site officiel. À l’instant où j’écris l’article, c’est celle-ci :

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

La petite subtilité avec la puce m1

À cette étape, si vous avez un Mac équipé de la puce M1, alors vous avez peut-être eu un message vous indiquant qu’Homebrew ne s’est pas installé correctement (Warning: /opt/homebrew/bin is not in your PATH).

Pour résoudre ce problème, il faut, dans le répertoire du nom d’utilisateur de l’administrateur du Mac, créer un fichier .zshrc. Dans celui-ci, vous devez ajouter cette ligne de code :

export PATH=/opt/homebrew/bin:$PATH

Homebrew est alors correctement installé. Si ça vous intéresse, voici le sujet Stackoverflow qui m’a bien aidé.

Finaliser l’installation

On y est presque ! Il ne reste plus qu’à installer Node.js et npm avec cette commande :

brew install node

Et voilà ! Tout est désormais fonctionnel. Vous pouvez faire un test un utilisant un package installé de façon globale.

Si ce tutoriel vous a aidé, n’hésitez pas à m’offrir une bière 🍻