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 !