Error: no se puede encontrar el módulo 'paquete web'

151

Recién estoy comenzando con webpack y estoy teniendo dificultades para construir la muestra de múltiples puntos de entrada . El archivo webpack.config.js en el ejemplo incluye la línea

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

que me falla con el error

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

Al buscar, encontré otros ejemplos de uso de CommonsChunkPlugin con la expresión

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

que falla con el error

ReferenceError: webpack is not defined

Algunas búsquedas más encontraron una serie de ejemplos que incluyen

var webpack = require('webpack');

y mi compilación ahora falla con

Error: Cannot find module 'webpack'

No sé cómo proceder.

Ed.
fuente
2
¿Corriste npm install webpackantes?
Johannes Ewald
Si. Webpack está instalado y trabajando en otros ejemplos. Fue al tratar de agregar el complemento para el ejemplo de múltiples puntos de entrada que tuve problemas.
Ed.
Error: Cannot find module 'webpack'Es un error de nodo. Así que esto no tiene nada que ver con el paquete web en sí (un hecho). Parece que el nodo está buscando en las carpetas incorrectas ...
Johannes Ewald
66
Ya veo, npm install -g webpacktampoco funcionó para mí. Pero lo hace con npm install webpack: asegúrese de estar en la carpeta raíz de la aplicación cuando llame y npm install webpackluego verifique si el módulo existe en la node_modulescarpeta. También parece que webpacknecesita fseventsun módulo (opcional) en sistemas Linux: estoy usando Windows, así que no estoy seguro. Intente instalar fseventstambién
AndreiDMS
3
Como he dicho anteriormente, la instalación global no me funcionó bien, así que trate de instalar webpacken la carpeta de aplicación local, utilizando npm install webpack, sin-g
AndreiDMS

Respuestas:

272

Enlace el paquete instalado globalmente a su proyecto

npm link webpack
Ruslanas Balčiūnas
fuente
77
Esta es la respuesta más simple que existe.
Thomas W
1
¿En qué archivo afecta esta configuración? No vi ningún cambio en los archivos json. ¿Puedes por favor elaborar?
Royi Namir
de todos modos no parece desvincularse. webpack-dev-server se bloqueó después de esto.
Plancton
Después de un mes sin poder hacerlo funcionar, estuve muy cerca de renunciar y seguir trabajando con Angularjs. Esto finalmente funcionó! Gracias.
NestorArturo
Estoy instalando webpack, pero ejecuto webpack sin mostrar ningún parámetro, este tipo de mensaje: cuál te gustaría instalar (webpack-cli / web-command)
Ng Sharma
59

Mientras trabajaba en Windows, instalé webpack localmente y solucionó mi problema

Entonces, en el símbolo del sistema, vaya al directorio en el que desea ejecutar webpack, instale webpack localmente (sin el -g) y disfrute ...

Corrió
fuente
10
pero no mencionaste cómo instalarlo "localmente"
jpganz18
localmente es npm install webpack, sin usar -g como se mencionó. Esto funcionó en mi caso.
Honza P.
24

Parece ser un problema común de Windows. Esto me lo arregló:

Nodejs no puede encontrar el módulo instalado en Windows?

"Agregue una variable de entorno llamada NODE_PATHy configúrela en %USERPROFILE%\Application Data\npm\node_modules(Windows XP),%AppData%\npm\node_modules configúrela (Windows 7), o donde npm termine instalando los módulos en su versión de Windows. Para hacerlo de una vez por todas, agregue esto como una variable del Sistema en la pestaña Avanzado del cuadro de diálogo Propiedades del sistema (ejecute control.exe sysdm.cpl, Sistema, 3) ".

Tenga en cuenta que en realidad no puede usar otra variable de entorno dentro del valor de NODE_PATH. Es decir, no solo copie y pegue la cadena anterior, sino que la configure en una ruta resuelta real comoC:\Users\MYNAME\AppData\Roaming\npm\node_modules

Jamie Treworgy
fuente
1
no funciona para mí en Windows 10. No hay una node_modulescarpeta en el C:\Users\MYNAME\AppData\Roaming\npm`. I tried to set valor NODE_PATH` C:\Program Files (x86)\nodejs\node_modulespero no ayudó
VB_
3
Funciona bien para mí en Windows 10: setx NODE_PATH %AppData%\npm\node_modules. Es posible que deba reiniciar cmdantes de que la NODE_PATHvariable esté disponible o también ejecutarse set NODE_PATH=%AppData%\npm\node_modules.
Nux
23

Resolví el mismo problema reinstalando, ejecute estos comandos

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

rmsiempre es un comando peligroso, especialmente con -f, ¡tenga en cuenta que antes de ejecutarlo!

troy
fuente
2
package-lock.json es el culpable
Sérgio S. Filho
17

Ejecute los siguientes comandos en la Terminal:

npm install --save-dev webpack

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

Sreen Sunki
fuente
9

Estaba teniendo este problema en OS X y parecía ser causado por un desajuste de versión entre mi instalación global webpacky mi instalación local webpack-dev-server. La actualización de ambos a la última versión eliminó el problema.

Cody Sand
fuente
eso también funcionó para mí, así que creo que vale la pena considerarlo en varios escenarios si tiene este problema.
JL Peyret
2

Si ha instalado un paquete de nodos y todavía recibe un mensaje de que el paquete no está definido, es posible que tenga un problema con la RUTA que se vincula al binario. Solo para aclarar que un binario y un ejecutable esencialmente hacen lo mismo, que es ejecutar un paquete o aplicación. ei webpack ... ejecuta el paquete de nodos webpack.

Tanto en Windows como en Linux hay una carpeta binaria global. En Windows creo que es algo así como C: // Windows / System32 y en Linux es usr / bin. Cuando abre el terminal / símbolo del sistema, su perfil vincula la variable PATH a la carpeta bin global para que pueda ejecutar paquetes / aplicaciones desde él.

Mi mejor conjetura es que la instalación de webpack a nivel mundial puede no haber colocado correctamente el archivo ejecutable en la carpeta binaria global. Sin el ejecutable allí, recibirá un mensaje de error. Podría ser otro problema, pero es seguro decir que si estás leyendo esto, ejecutar webpack a nivel mundial no te funciona.

Mi resolución a este problema es eliminar el funcionamiento del paquete web globalmente y vincular la RUTA a la carpeta binaria node_module, que es /node_modules/.bin.

VENTANAS: agregue node_modules / .bin a su RUTA. Aquí hay un tutorial sobre cómo cambiar la variable PATH en Windows.

LINUX: Ve a la raíz de tu proyecto y ejecuta esto ...

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

En Linux, deberá ejecutar este comando cada vez que abra su terminal. Este enlace aquí le muestra cómo hacer un cambio permanente a su variable PATH.

Jed Lynch
fuente
1

En Windows, he observado que este problema aparece si no tiene derechos administrativos (es decir, no es un administrador local) en la máquina.

Como alguien más sugirió, la solución parece ser la instalación local al no usar la -gsugerencia.

dev.bv
fuente
1

Abra el símbolo del sistema npm y la carpeta de solución de CD y luego ejecute npm link webpack en NPM cmd prompt y vuelva a compilar.

SAIRAM
fuente
1

Puedes probar esto.

npm install --only=dev

Esto funciona para mi.

aermin
fuente
0

Nada de lo sugerido anteriormente funcionó para mí (incluida la variable NODE_PATH). Creé un enlace sym de "node_modules" desde mi carpeta local a los AppData globales (por ejemplo, a continuación) y funcionó a la perfección.

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
Mazhar
fuente
0

Me acabo de enterar que el uso del terminal Atom IDE no instaló dependencias localmente (probablemente un error o solo yo). Instalar git bash externamente y ejecutar comandos npm nuevamente funcionó para mí

Oladayo agbolade
fuente
0

Para mí, es un comentario de error incorrecto.

hubo un error de configuración en webpack.config.js,

eliminar el archivo y comenzar de nuevo resolvió mi problema

Seeliang
fuente
0

Tuve un montón de problemas al obtener una aplicación .NET Core 2.0 muy simple para compilar en VS 2017. Este es el error de AppVeyor, sin embargo, era esencialmente lo mismo a nivel local (algunas rutas omitidas por seguridad):

Realizando la compilación de Webpack de primera ejecución ...

module.js: 327 throw err;

EJEC: error: no se puede encontrar el módulo '........ / node_modules / webpack / bin / webpack.js'

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

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

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

al inicio (node.js: 140: 18)

en node.js: 1043: 3

csproj (25,5): error MSB3073: el comando "node node_modules / webpack / bin / webpack.js --config webpack.config.vendor.js" salió con el código 1.

Construcción fallida.

Me topé con esta pregunta y respuesta , y noté que mi instancia local también tenía la misma señal de advertencia sobre la {Project Root} -> Dependencies -> npmcarpeta. Al hacer clic derecho y presionar "Restaurar paquetes", todo se cargó correctamente, y pude construir con éxito.

X3074861X
fuente
0

npm link webpack funcionó para mí.

Mi configuración de webpack: "webpack": "^ 4.41.2", "webpack-dev-server": "^ 3.9.0", "webpack-cli": "^ 3.3.10"

Jayesh
fuente
0

Instalar webpack y CLI a nivel mundial funcionó para mí.

npm i -g webpack webpack-cli
David Gogua
fuente