Laravel 8: Error: Cannot find module 'webpack-cli/package.json' - Solution
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 !