Erro: Não foi possível encontrar o módulo 'webpack'

151

Estou começando a usar o webpack e estou tendo dificuldades para criar a amostra de vários pontos de entrada . O arquivo webpack.config.js no exemplo inclui a linha

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

o que falha para mim com o erro

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

Pesquisando, encontrei outros exemplos de uso do CommonsChunkPlugin com a expressão

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

que falha com o erro

ReferenceError: webpack is not defined

Um pouco mais de pesquisa encontrou vários exemplos, incluindo

var webpack = require('webpack');

e minha compilação agora falha com

Error: Cannot find module 'webpack'

Estou sem saber como proceder.

Ed.
fonte
2
Você já correu npm install webpackantes?
Johannes Ewald
Sim. O Webpack está instalado e funcionando em outros exemplos. Foi na tentativa de adicionar o plug-in para o exemplo de vários pontos de entrada que tive problemas.
Ed.
Error: Cannot find module 'webpack'é um erro do nó. Portanto, isso não tem nada a ver com o próprio webpack (em conflito). Parece que nó está à procura nas pastas erradas ...
Johannes Ewald
6
Entendo, npm install -g webpacktambém não funcionou para mim. Mas isso acontece com npm install webpack- verifique se você está na pasta raiz do aplicativo ao ligar npm install webpacke verifique se o módulo existe na node_modulespasta. Parece também que webpackas necessidades fsevents(opcional) módulo em sistemas Linux - Estou usando o Windows, então eu não tenho certeza - tentar instalar fseventstambém
AndreiDMS
3
Como eu disse acima, a instalação global não deu certo para mim também, então tente instalar webpackna pasta aplicativo local, usando npm install webpack, sem-g
AndreiDMS

Respostas:

272

Vincule o pacote instalado globalmente ao seu projeto

npm link webpack
Ruslanas Balčiūnas
fonte
7
Esta é a resposta mais simples por aí.
Thomas W
1
Em qual arquivo essa configuração afeta? Não vi nenhuma alteração nos arquivos json. Você pode por favor elaborar?
Royi Namir 20/03
não parece desvincular de qualquer maneira. O webpack-dev-server travou após isso.
Plankton
Depois de um mês sem conseguir fazer isso, eu estava muito perto de desistir e continuar trabalhando com o Angularjs. Isso finalmente funcionou! Obrigado.
NestorArturo 27/05
Estou instalando Webpack, mas eu corro Webpack sem qualquer parâmetro show, este tipo de mensagem: Qual deles você quer instalar (Webpack-cli / web-comando)
Ng Sharma
59

Enquanto trabalhava no Windows, instalei o webpack localmente e o problema foi corrigido

Portanto, no prompt de comando, vá para o diretório em que deseja executar o webpack, instale o webpack localmente (sem o -g) e aproveite ...

Correu
fonte
10
mas você não mencionou como instalá-lo "localmente"
jpganz18 27/09/18
localmente é o npm install webpack, sem usar -g como mencionado. Isso funcionou no meu caso.
Honza P.
24

Parece ser um problema comum do Windows. Isso corrigiu para mim:

O Nodejs não consegue encontrar o módulo instalado no Windows?

"Adicione uma variável de ambiente chamada NODE_PATHe defina-a como %USERPROFILE%\Application Data\npm\node_modules(Windows XP), %AppData%\npm\node_modules(Windows 7) ou onde quer que o npm acabe instalando os módulos no seu estilo Windows. Para fazer isso de uma vez por todas, adicione-o como uma variável de sistema em a guia Avançado da caixa de diálogo Propriedades do sistema (execute control.exe sysdm.cpl, Sistema, 3). "

Observe que você não pode realmente usar outra variável de ambiente com o valor de NODE_PATH. Ou seja, não apenas copie e cole essa sequência acima, mas defina-a como um caminho resolvido real, comoC:\Users\MYNAME\AppData\Roaming\npm\node_modules

Jamie Treworgy
fonte
1
Não trabalho para mim no Windows 10. Não há nenhuma node_modulespasta no C:\Users\MYNAME\AppData\Roaming\npm`. I tried to set valor NODE_PATH` C:\Program Files (x86)\nodejs\node_modulesmas isso não ajuda
VB_
3
Funciona muito bem para mim no Windows 10: setx NODE_PATH %AppData%\npm\node_modules. Pode ser necessário reiniciar o seu cmdantes que a NODE_PATHvariável esteja disponível ou também execute set NODE_PATH=%AppData%\npm\node_modules.
Nux
23

Eu resolvi o mesmo problema reinstalando, execute estes comandos

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

rmé sempre um comando perigoso, especialmente com -f, observe que antes de executá-lo !!!!!

Troy
fonte
2
package-lock.json é o culpado
Sérgio S. Filho
17

Execute os comandos abaixo no Terminal:

npm install --save-dev webpack

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

Sreen Sunki
fonte
9

Eu estava com esse problema no OS X e parecia ter sido causado por uma incompatibilidade de versão entre o meu instalado globalmente webpacke o meu instalado localmente webpack-dev-server. A atualização para a versão mais recente se livrou do problema.

Cody Sand
fonte
que funcionou para mim também, então acho que vale a pena considerar em vários cenários, se você tiver esse problema.
JL Peyret
2

Se você instalou um pacote de nós e ainda está recebendo a mensagem de que o pacote está indefinido, você pode ter um problema com o PATH vinculado ao binário. Apenas para esclarecer um binário e executável, faça essencialmente a mesma coisa, que é executar um pacote ou aplicativo. ei webpack ... executa o pacote do nó webpack.

No Windows e Linux, há uma pasta binária global. No Windows, acredito que seja algo como C: // Windows / System32 e no Linux é usr / bin. Quando você abre o terminal / prompt de comando, o perfil vincula a variável PATH à pasta bin global, para que você possa executar pacotes / aplicativos a partir dele.

Meu melhor palpite é que a instalação global do webpack pode não ter colocado com êxito o arquivo executável na pasta binária global. Sem o executável lá, você receberá uma mensagem de erro. Pode ser outro problema, mas é seguro dizer que, se você está lendo isso, executar o webpack globalmente não está funcionando para você.

Minha resolução para esse problema é eliminar a execução global do webpack e vincular o PATH à pasta binária node_module, que é /node_modules/.bin.

WINDOWS: adicione node_modules / .bin ao seu PATH. Aqui está um tutorial sobre como alterar a variável PATH no Windows.

LINUX: Vá para a raiz do seu projeto e execute isto ...

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

No Linux, você terá que executar este comando toda vez que abrir seu terminal. Este link aqui mostra como fazer uma alteração permanente na sua variável PATH.

Jed Lynch
fonte
1

No Windows, observei que esse problema aparece se você não possui direitos administrativos (ou seja, você não é um administrador local) na máquina.

Como alguém sugeriu, a solução parece ser a instalação local, não usando a -gdica.

dev.bv
fonte
1

Abra o prompt de comando npm e a pasta - cd solution e execute o npm link webpack no NPM cmd prommt e recrie ..

SAIRAM
fonte
1

Você pode tentar isso.

npm install --only=dev

Funciona para mim.

aermin
fonte
0

Nada sugerido acima funcionou para mim (incluindo a variável NODE_PATH). Eu criei um link sym de "node_modules" da minha pasta local para o AppData global (por exemplo, abaixo) e funcionou como um encanto.

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
fonte
0

Acabei de descobrir que o uso do terminal Atom IDE não instalava dependências localmente (provavelmente um bug ou apenas eu). Instalar o git bash externamente e executar os comandos npm novamente funcionou para mim

Oladayo agbolade
fonte
0

para mim, é um feedback de erro errado.

houve um erro de configuração webpack.config.js,

excluir o arquivo e começar de novo resolveu meu problema

Seeliang
fonte
0

Eu tive muitos problemas ao obter um aplicativo .NET Core 2.0 muito simples para compilar no VS 2017. Esse é o erro do AppVeyor, no entanto, era essencialmente a mesma coisa localmente (alguns caminhos omitidos por segurança):

Executando a compilação Webpack de primeira execução ...

module.js: 327 throw err;

EXEC: erro: Não foi possível encontrar o módulo '........ / node_modules / webpack / bin / webpack.js'

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

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

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

na inicialização (node.js: 140: 18)

em node.js: 1043: 3

csproj (25,5): erro MSB3073: O comando "nó node_modules / webpack / bin / webpack.js --config webpack.config.vendor.js" saiu com o código 1.

Falha na construção.

Eu me deparei com essa pergunta e resposta e notei que minha instância local também tinha o mesmo sinal de aviso sobre a {Project Root} -> Dependencies -> npmpasta. Ao clicar com o botão direito do mouse e clicar em "Restaurar pacotes", tudo foi carregado corretamente, e eu consegui criar com êxito.

X3074861X
fonte
0

O npack link webpack funcionou para mim.

Minha configuração do webpack: "webpack": "^ 4.41.2", "webpack-dev-server": "^ 3.9.0", "webpack-cli": "^ 3.3.10"

Jayesh
fonte
0

A instalação do webpack e da CLI funcionou globalmente para mim.

npm i -g webpack webpack-cli
David Gogua
fonte