Aller au contenu
Patrick Junod Patrick Junod

Laravel 8: Error: Cannot find module 'webpack-cli/package.json' - Solution

Lors de la préparation d'un nouveau projet, je me suis retrouvé bloqué lors de l'installation de Laravel.
Programmation Laravel

Pour ce projet, j'ai décidé de partir avec une install Jetstream + Livewire (Plus d'infos ici). Après avoir mis en place Laravel via l'installer, ajouté Jetstream avec le stack Livewire, il vous est demandé d'entrer les commandes suivantes pour finaliser l'installation:

npm install
npm run dev

En principe, rien de bien sorcier. Pourtant cette fois, une erreur se produit:

'cross-env' n’est pas reconnu en tant que commande interne
ou externe, un programme exécutable ou un fichier de commandes.

Bon... première erreur, quelques recherche plus tard me montrent que cross-env doit effectivement être installé (manuellement ? ...)

npm install --save-dev cross-env

L'installation effectuée, on retente le npm install && npm run dev:

CLI for webpack must be installed.
  webpack-cli (https://github.com/webpack/webpack-cli)

Décidemment...  J'ai donc aussi ajouté webpack-cli aux dépendences

npm install -D webpack-cli

Et hop, on retente:

npm install
npm run dev

Et là à ma grande surprise:

CLI for webpack must be installed.
  webpack-cli (https://github.com/webpack/webpack-cli)

??? Alors que l'on vient de l'installer ? Après tout ça, j'ai pensé à une erreur de cache, donc vidé le cache de node, profité pour faire une mise à jour nodejs, réinstallé webpack-cli, mais rien y fait... il ne le trouve pas !

La solution

Par dépit, j'ai finalement opté pour une solution très basique:

Supprimer le répertoire node_modules complétement ainsi que le package-lock.json

Il est ensuite possible de réinstaller les dépendences avec

npm install

Et enfin...

npm run dev

Magique !