Помилка: не вдається знайти модуль 'webpack'


152

Я тільки починаю вести веб- пакет, і у мене виникають труднощі з отриманням вибірки з кількома входами. Файл webpack.config.js у прикладі містить рядок

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

яка не дає мені помилки

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

Шукаючи навколо, я знайшов інші приклади використання CommonsChunkPlugin з виразом

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

яка не вдається з помилкою

ReferenceError: webpack is not defined

Ще кілька пошуків знайшли ряд прикладів, зокрема

var webpack = require('webpack');

і моя збірка зараз не вдається

Error: Cannot find module 'webpack'

Я в збитті щодо того, як діяти далі.


2
Ви npm install webpackраніше бігали ?
Йоганнес Евальд

Так. Вебпак встановлений та працює над іншими прикладами. У спробі додати плагін для прикладу з декількома входами, я зіткнувся з проблемою.
Ред.

Error: Cannot find module 'webpack'- помилка вузла. Тож це не має нічого спільного з самим webpack (afaict). Здається, що вузол шукає неправильні папки ...
Йоханнес Евальд

6
Я бачу, npm install -g webpackтеж не працював для мене. Але це стосується npm install webpack- переконайтеся, що ви знаходитесь у кореневій папці програми, коли ви телефонуєте, npm install webpackа потім перевірте, чи існує модуль у node_modulesпапці. Також здається, що webpackпотрібен fsevents(необов’язковий) модуль для систем Linux - я використовую Windows, тому не впевнений - спробуйте встановити fseventsтакож
AndreiDMS

3
Як я вже говорив вище, глобальна інсталяція також не працювала для мене, тому спробуйте встановити webpackв локальній папці додатків, використовуючи npm install webpack, без-g
AndreiDMS

Відповіді:


272

Підключіть глобально встановлений пакет до свого проекту

npm link webpack

7
Це найпростіша відповідь там.
Thomas W

1
На який файл впливає це налаштування? Я не бачив змін у файлах json. Чи можете ви, будь ласка, докладно?
Рой Намір

не здається, все одно від’єднати. webpack-dev-сервер вийшов з ладу після цього.
Планктон

Через місяць, не маючи змоги змусити його працювати, я був дуже близький, щоб здатися і продовжувати працювати з Angularjs. Це нарешті спрацювало! Дякую.
NestorArturo

Я встановлюю webpack, але я запускаю webpack без будь-якого показника параметрів, такий тип повідомлення: яке ви хочете встановити (webpack-cli / web-command)
Ng Sharma

59

Під час роботи над Windows я встановив webpack локально, і це вирішило мою проблему

Отже, у своєму командному рядку перейдіть до каталогу, в якому ви хочете запустити webpack, встановіть webpack локально (без -g) та насолоджуйтесь ...


10
але ви не згадали, як його встановити "локально"
jpganz18,

локально npm встановлює webpack, не використовуючи -g, як згадувалося. Це спрацювало в моєму випадку.
Хонза П.

24

Здається, це звичайна проблема Windows. Це зафіксувало це для мене:

Nodejs не може знайти встановлений модуль у Windows?

"Додайте змінну середовища, яку називають, NODE_PATHі встановіть її на %USERPROFILE%\Application Data\npm\node_modules(Windows XP), %AppData%\npm\node_modules(Windows 7) або там, де закінчується npm, встановлення модулів на ваш смак Windows. Щоб це зробити раз і назавжди, додайте це як системну змінну в вкладка Додатково в діалоговому вікні "Властивості системи" (запустіть control.exe sysdm.cpl, System, 3). "

Зауважте, що ви не можете реально використовувати іншу змінну середовища в межах значення NODE_PATH. Тобто, не просто скопіюйте та вставте цей рядок вгорі, а встановіть його на фактично вирішений шлях, як-отC:\Users\MYNAME\AppData\Roaming\npm\node_modules


1
не працює для мене в Windows 10. Немає node_modulesпапки C:\Users\MYNAME\AppData\Roaming\npm`. I tried to set зі значенням NODE_PATH`, C:\Program Files (x86)\nodejs\node_modulesале це не допомогло
VB_

3
Для мене працює добре в Windows 10 : setx NODE_PATH %AppData%\npm\node_modules. Можливо, вам доведеться перезапустити свою програму cmdдо того, як NODE_PATHзмінна буде доступна або також запущена set NODE_PATH=%AppData%\npm\node_modules.
Nux

23

Я вирішив ту ж проблему, перевстановивши, виконую ці команди

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

rmзавжди небезпечна команда, особливо з -f, зауважте, що перед її виконанням !!!!!


2
package-lock.json - винуватець
С. Філью

17

Виконайте команди нижче в Терміналі:

npm install --save-dev webpack

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


9

У мене виникла ця проблема в OS X, і, здавалося, вона була викликана невідповідністю версії між моїм глобально встановленим webpackта локально встановленим webpack-dev-server. Оновлення як останньої версії позбулося проблеми.


це працювало і для мене, тому я вважаю, що це варто розглянути за різних сценаріїв, якщо у вас є ця проблема.
Дж. Л. Пейрет

2

Якщо ви встановили пакет вузлів і все ще отримуєте повідомлення про те, що пакет не визначений, у вас може виникнути проблема з посиланням PATH на бінарний файл. Просто для уточнення бінарного та виконавчого файлу по суті робимо те саме, що полягає у виконанні пакету чи програми. ei webpack ... виконує пакунок вузла webpack.

І в Windows, і в Linux існує глобальна двійкова папка. У Windows я вважаю, що це щось на зразок C: // Windows / System32, а в Linux це usr / bin. Коли ви відкриєте термінальний / командний рядок, його профіль пов'язує змінну PATH до глобальної папки біна, щоб ви могли виконувати з неї пакети / програми.

Я найкраще здогадуюсь, що глобальна установка веб-пакету, можливо, не вдало поставити виконуваний файл у загальну папку. Без виконуваного файлу ви отримаєте повідомлення про помилку. Це може бути інша проблема, але можна з упевненістю сказати, що якщо ви тут читаєте це, запуск веб-пакету в усьому світі не працює для вас.

Моє вирішення цієї проблеми полягає в тому, щоб уникнути запуску веб-пакету в усьому світі та приєднати PATH до бінарної папки node_module, яка є /node_modules/.bin.

WINDOWS: додайте node_modules / .bin до вашої PATH. Ось підручник про те, як змінити змінну PATH у Windows.

LINUX: Перейдіть до кореня проекту та виконайте це ...

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

У Linux вам доведеться виконувати цю команду кожного разу, коли ви відкриваєте свій термінал. Це посилання тут показує, як зробити зміну змінної PATH постійною.


1

У Windows я помітив, що ця проблема з’являється, якщо у вас немає адміністративних прав (тобто ви не місцевий адміністратор) на апараті.

Як хтось ще запропонував, рішення, як видається, полягає в установці локально, не використовуючи -gпідказку.


1

Відкрийте командний рядок npm та папку з рішенням cd, а потім просто запустіть npm link webpack в NPM cmd prommt та перезавантажте ..



0

Ніщо, що було запропоновано вище, не працювало для мене (включаючи змінну NODE_PATH). Я створив sym-посилання "node_modules" з моєї локальної папки до глобальної AppData (наприклад, нижче), і це працювало як шарм.

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

Щойно з’ясували, що за допомогою Atom IDE-терміналу не встановлювали залежності локально (можливо, помилка чи лише я). Установка git bash зовні та виконання команд npm знову працювало для мене


0

для мене це неправильний відгук про помилки.

була помилка конфігурації webpack.config.js,

видаліть файл і починайте вирішити мою проблему


0

У мене виникло безліч проблем із отриманням дуже простого додатка .NET Core 2.0 для створення в VS 2017. Це помилка AppVeyor, однак це було по суті те саме, що локально (деякі шляхи для безпеки відсутні):

Виконання першої збірки Webpack ...

module.js: 327 помилка кидка;

EXEC: помилка: неможливо знайти модуль '........ / node_modules / webpack / bin / webpack.js'

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

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

на Function.Module.runMain (module.js: 441: 10)

при запуску (node.js: 140: 18)

на node.js: 1043: 3

csproj (25,5): помилка MSB3073: команда "node node_modules / webpack / bin / webpack.js --config webpack.config.vendor.js", що вийшла з кодом 1.

Побудувати не вдалося.

Я натрапив на це запитання та відповідь , і помітив, що мій місцевий екземпляр також мав той самий попереджувальний знак над {Project Root} -> Dependencies -> npmпапкою. Клацання правою кнопкою миші та натискання кнопки "Відновити пакети" все завантажувалось належним чином, і я зміг успішно створити.


0

npm посилання webpack працювало на мене.

Моя конфігурація вебпакету: "webpack": "^ 4.41.2", "webpack-dev-server": "^ 3.9.0", "webpack-cli": "^ 3.3.10"


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.