Errore: impossibile trovare il modulo 'webpack'


152

Ho appena iniziato con il webpack e ho difficoltà a ottenere il campione di punti di ingresso multipli da compilare. Il file webpack.config.js nell'esempio include la riga

 var CommonsChunkPlugin = require("../../lib/optimize/CommonsChunkPlugin");

che non riesce per me con l'errore

Error: Cannot find module '../../lib/optimize/CommonsChunkPlugin'

Cercando in giro, ho trovato altri esempi di utilizzo di CommonsChunkPlugin con l'espressione

var commonsPlugin = new webpack.optimize.CommonsChunkPlugin("common.js");

che non riesce con l'errore

ReferenceError: webpack is not defined

Altre ricerche hanno trovato una serie di esempi tra cui

var webpack = require('webpack');

e la mia build ora non riesce

Error: Cannot find module 'webpack'

Sono in perdita su come procedere.


2
Hai corso npm install webpackprima?
Johannes Ewald,

Sì. Webpack è installato e funziona su altri esempi. È stato nel tentativo di aggiungere il plug-in per l'esempio dei punti di ingresso multipli che ho riscontrato problemi.
Ed.

Error: Cannot find module 'webpack'è un errore del nodo. Quindi questo non ha nulla a che fare con il webpack stesso (afaict). Sembra che il nodo stia cercando nelle cartelle sbagliate ...
Johannes Ewald,

6
Vedo, npm install -g webpacknon ha funzionato neanche per me. Ma lo fa con npm install webpack- assicurati di essere nella cartella principale dell'app quando chiami, npm install webpackquindi controlla se il modulo esiste nella node_modulescartella. Sembra anche che abbia webpackbisogno di fseventsun modulo (opzionale) su sistemi Linux - Sto usando Windows quindi non sono sicuro - prova fseventsanche a installare
AndreiDMS

3
Come ho detto sopra, l'installazione globale non ha funzionato neanche per me, quindi prova a installarla webpacknella cartella dell'app locale, usando npm install webpack, senza-g
AndreiDMS,

Risposte:


273

Collega il pacchetto installato a livello globale al tuo progetto

npm link webpack

7
Questa è la risposta più semplice là fuori.
Thomas W,

1
Su quale file influisce questa impostazione? Non ho visto alcuna modifica ai file json. Puoi per favore elaborare?
Royi Namir,

non sembra comunque scollegare. webpack-dev-server si è bloccato in seguito.
Plancton,

Dopo un mese che non riuscivo a farlo funzionare, ero molto vicino a rinunciare e continuare a lavorare con Angularjs. Alla fine ha funzionato! Grazie.
NestorArturo,

sto installando webpack, ma eseguo webpack senza mostrare alcun parametro, questo tipo di messaggio: quale ti piace installare (webpack-cli / web-command)
Ng Sharma,

60

Mentre lavoro su Windows, ho installato il webpack localmente e il problema è stato risolto

Quindi, al prompt dei comandi, vai alla directory di cui vuoi eseguire webpack, installa webpack localmente (senza il -g) e goditi ...


10
ma non hai menzionato come installarlo "localmente"
jpganz18

localmente è npm install webpack, senza usare -g come detto. Questo ha funzionato nel mio caso.
Honza P.

24

Sembra essere un problema comune di Windows. Questo mi ha risolto:

Nodejs non riesce a trovare il modulo installato su Windows?

"Aggiungi una variabile d'ambiente chiamata NODE_PATHe impostala su %USERPROFILE%\Application Data\npm\node_modules(Windows XP), %AppData%\npm\node_modules(Windows 7) o ovunque npm finisca per installare i moduli sul tuo sapore di Windows. Per farlo una volta per tutte, aggiungi questa come variabile di Sistema in la scheda Avanzate della finestra di dialogo Proprietà del sistema (esegui control.exe sysdm.cpl, Sistema, 3). "

Si noti che non è possibile effettivamente utilizzare un'altra variabile di ambiente nel valore di NODE_PATH. Cioè, non solo copiare e incollare quella stringa sopra, ma impostarla su un percorso risolto comeC:\Users\MYNAME\AppData\Roaming\npm\node_modules


1
non funziona per me su Windows 10. Non esiste una node_modulescartella nel C:\Users\MYNAME\AppData\Roaming\npm`. I tried to set valore NODE_PATH` C:\Program Files (x86)\nodejs\node_modulesma non ha aiutato
VB_

3
Funziona bene per me su Windows 10: setx NODE_PATH %AppData%\npm\node_modules. Potrebbe essere necessario riavviare cmdprima che la NODE_PATHvariabile sia disponibile o anche in esecuzione set NODE_PATH=%AppData%\npm\node_modules.
Nux,

23

Ho risolto lo stesso problema reinstallando, eseguendo questi comandi

rm -Rf node_modules
rm -f package-lock.json
npm install

rmè sempre un comando pericoloso, soprattutto con -f, si prega di notare che prima di eseguirlo !!!!!


2
package-lock.json è il colpevole
Sérgio S. Filho l'

17

Esegui i comandi seguenti nel Terminale:

npm install --save-dev webpack

npm install --save-dev webpack-dev-server


9

Stavo riscontrando questo problema su OS X e sembrava essere stato causato da una mancata corrispondenza della versione tra la mia installazione globale webpacke la mia installazione locale webpack-dev-server. L'aggiornamento di entrambi all'ultima versione ha eliminato il problema.


ha funzionato anche per me, quindi immagino che valga la pena considerare in vari scenari se hai questo problema.
JL Peyret,

2

Se hai installato un pacchetto nodo e stai ancora ricevendo un messaggio che il pacchetto non è definito, potresti avere un problema con il PATH che si collega al binario. Solo per chiarire un binario e un eseguibile, essenzialmente fare la stessa cosa, ovvero eseguire un pacchetto o un'applicazione. ei webpack ... esegue il pacchetto webpack del nodo.

In Windows e Linux esiste una cartella binaria globale. In Windows credo sia qualcosa come C: // Windows / System32 e in Linux è usr / bin. Quando si apre il terminale / prompt dei comandi, il suo profilo collega la variabile PATH alla cartella bin globale in modo da poter eseguire pacchetti / applicazioni da esso.

La mia ipotesi migliore è che l'installazione del webpack a livello globale potrebbe non aver inserito correttamente il file eseguibile nella cartella binaria globale. Senza l'eseguibile lì, riceverai un messaggio di errore. Potrebbe essere un altro problema, ma è sicuro dire che se stai leggendo questo, eseguire webpack a livello globale non funziona per te.

La mia risoluzione a questo problema è di eliminare il webpack a livello globale e collegare il PERCORSO alla cartella binaria node_module, che è /node_modules/.bin.

WINDOWS: aggiungi node_modules / .bin al tuo PERCORSO. Ecco un tutorial su come modificare la variabile PATH in Windows.

LINUX: vai alla radice del tuo progetto ed esegui questo ...

export PATH:$PWD/node_modules/.bin:$PATH 

In Linux dovrai eseguire questo comando ogni volta che apri il tuo terminale. Questo link qui ti mostra come rendere permanente una modifica alla tua variabile PATH.


1

Su Windows, ho osservato che questo problema si presenta se non si dispone dei diritti amministrativi (ovvero se non si è un amministratore locale) sulla macchina.

Come suggerito da qualcun altro, la soluzione sembra essere quella di installare localmente non usando il -gsuggerimento.


1

Aprire il prompt dei comandi di npm e - cartella della soluzione cd e quindi eseguire npm link webpack in NPM cmd prommt e ricostruire ..


1

Puoi provare questo.

npm install --only=dev

Per me funziona.


0

Nulla ha suggerito sopra ha funzionato per me (inclusa la variabile NODE_PATH). Ho creato un link sym di "node_modules" dalla mia cartella locale all'AppData globale (ad es. Sotto) e ha funzionato come un fascino.

C:\Users\mmoinuddin\AppData\Roaming\npm>mklink /D node_modules c:\essportreact\day1\node_modules
symbolic link created for node_modules <<===>> c:\essportreact\day1\node_modules
C:\essportreact\day1>webpack
Hash: 2a82a67f90f9aa05ab4a
Version: webpack 1.15.0

0

Ho appena scoperto che l'uso del terminale IDE Atom non ha installato dipendenze a livello locale (probabilmente un bug o solo io). Installare git bash esternamente ed eseguire nuovamente i comandi npm ha funzionato per me


0

per me, è un feedback di errore errato.

si è verificato un errore di configurazione in webpack.config.js,

cancellare il file e ricominciare risolto il mio problema


0

Ho avuto un sacco di problemi nell'ottenere un'applicazione .NET Core 2.0 molto semplice da compilare in VS 2017. Questo è l'errore di AppVeyor, tuttavia era essenzialmente la stessa cosa localmente (alcuni percorsi omessi per la sicurezza):

Esecuzione della build di Webpack di prima esecuzione ...

module.js: 327 throw err;

EXEC: errore: impossibile trovare il modulo '........ / node_modules / webpack / bin / webpack.js'

at Function.Module._resolveFilename (module.js: 325: 15)

at Function.Module._load (module.js: 276: 25)

at Function.Module.runMain (module.js: 441: 10)

all'avvio (node.js: 140: 18)

su node.js: 1043: 3

csproj (25,5): errore MSB3073: il comando "nodo node_modules / webpack / bin / webpack.js --config webpack.config.vendor.js" è uscito con il codice 1.

Build FAILED.

Mi sono imbattuto in questa domanda e risposta e ho notato che anche la mia istanza locale aveva lo stesso segnale di avvertimento sulla {Project Root} -> Dependencies -> npmcartella. Facendo clic con il tasto destro e premendo "Ripristina pacchetti" tutto è stato caricato correttamente e sono stato in grado di compilare correttamente.


0

npm link webpack ha funzionato per me.

La mia configurazione webpack: "webpack": "^ 4.41.2", "webpack-dev-server": "^ 3.9.0", "webpack-cli": "^ 3.3.10"


0

L'installazione di webpack e CLI a livello globale ha funzionato per me.

npm i -g webpack webpack-cli
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.