ข้อผิดพลาด: ไม่พบโมดูล 'webpack'


152

ฉันเพิ่งเริ่มต้นกับ webpack และมีปัญหาในการสร้างตัวอย่างหลายจุดเริ่มต้นเพื่อสร้าง ไฟล์ 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มาก่อนไหม?
Johannes Ewald

ใช่. ติดตั้ง 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
นี่เป็นคำตอบที่ง่ายที่สุด
โทมัส W

1
การตั้งค่านี้มีผลกับไฟล์ใดบ้าง ฉันไม่เห็นการเปลี่ยนแปลงใด ๆ กับไฟล์ json คุณช่วยอธิบายรายละเอียดได้ไหม?
Royi Namir

ดูเหมือนจะไม่มีการยกเลิกการเชื่อมโยง webpack-dev-server ล้มเหลวหลังจากนี้
แพลงก์ตอน

หลังจากหนึ่งเดือนผ่านไปไม่ได้ที่จะทำงานฉันก็สนิทสนมและเลิกทำงานกับ Angularj ในที่สุดก็ใช้งานได้! ขอบคุณ.
NestorArturo

ฉันกำลังติดตั้ง webpack แต่ฉันเรียกใช้ webpack โดยไม่มีการแสดงพารามิเตอร์ข้อความประเภทนี้: คุณต้องการติดตั้ง (webpack-cli / web-command)
Ng Sharma

59

ในขณะที่ทำงานบน windows ฉันได้ติดตั้ง webpack ในเครื่องและแก้ไขปัญหาของฉันได้

ดังนั้นบนพรอมต์คำสั่งของคุณไปที่ไดเรกทอรีที่คุณต้องการเรียกใช้ webpack ติดตั้ง webpack ในเครื่อง (โดยไม่ต้องใช้ -g) และเพลิดเพลินไปกับ ...


10
แต่คุณไม่ได้พูดถึงวิธีการติดตั้ง "ภายใน"
jpganz18

ภายในเครื่องคือการติดตั้ง webpack โดยไม่ใช้ -g ดังกล่าวข้างต้น มันใช้งานได้ในกรณีของฉัน
Honza P.

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, ระบบ, 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 setx NODE_PATH %AppData%\npm\node_modules10: คุณอาจต้องรีสตาร์ท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 เป็นผู้ร้าย
Sérgio S. Filho

17

เรียกใช้คำสั่งด้านล่างในเทอร์มินัล:

npm install --save-dev webpack

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


9

ผมมีปัญหานี้บน OS X และดูเหมือนว่ามันจะเกิดจากการที่ไม่ตรงกันระหว่างรุ่นทั่วโลกของฉันติดตั้งและติดตั้งภายในของฉันwebpack webpack-dev-serverการอัปเดตทั้งสองเป็นเวอร์ชันล่าสุดกำจัดปัญหาได้


มันเหมาะกับฉันเช่นกันดังนั้นฉันคิดว่ามันคุ้มค่าที่จะพิจารณาภายใต้สถานการณ์ต่าง ๆ ถ้าคุณมีปัญหานี้
JL Peyret

2

หากคุณติดตั้งแพ็กเกจโหนดและยังคงได้รับข้อความว่าแพ็กเกจไม่ได้ถูกกำหนดคุณอาจมีปัญหากับ PATH ที่ลิงก์ไปยังไบนารี เพียงชี้แจงไบนารีและปฏิบัติการเป็นหลักทำสิ่งเดียวกันซึ่งก็คือการดำเนินการแพคเกจหรือโปรแกรม ei webpack ... ดำเนินการแพคเกจโหนด webpack

ทั้งใน Windows และ Linux มีโฟลเดอร์ไบนารีทั่วโลก ใน Windows ฉันเชื่อว่ามันเหมือนกับ C: // Windows / System32 และใน Linux มันเป็น usr / bin เมื่อคุณเปิดหน้าจอพร้อมรับคำสั่ง / เทอร์มินัลโปรไฟล์ของมันจะเชื่อมโยงตัวแปร PATH ไปยังโฟลเดอร์ Global bin เพื่อให้คุณสามารถเรียกใช้งานแพ็คเกจ / แอปพลิเคชันได้

สิ่งที่ดีที่สุดของฉันคือการติดตั้ง webpack ทั่วโลกอาจไม่ประสบความสำเร็จในการวางไฟล์ปฏิบัติการในโฟลเดอร์ไบนารีทั่วโลก คุณจะได้รับข้อความแสดงข้อผิดพลาด อาจเป็นปัญหาอื่น แต่ก็ปลอดภัยที่จะบอกว่าถ้าคุณอยู่ที่นี่อ่านข้อความนี้การใช้ webpack ทั่วโลกไม่ได้ผลสำหรับคุณ

การแก้ไขปัญหานี้ของฉันคือการทำอะไรกับการรัน webpack ทั่วโลกและเชื่อมโยง PATH ไปยังโฟลเดอร์ binary_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 solution folder จากนั้นเรียกใช้npm link webpackใน NPM cmd prommt และสร้างใหม่ ..


1

คุณสามารถลองสิ่งนี้

npm install --only=dev

มันใช้งานได้สำหรับฉัน


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_modules / webpack / bin / webpack.js --config webpack.config.vendor.js" ออกมาพร้อมกับรหัส 1

สร้างล้มเหลว

ฉันสะดุดกับคำถามและคำตอบนี้และสังเกตว่าอินสแตนซ์ในพื้นที่ของฉันมีสัญญาณเตือนเดียวกันบน{Project Root} -> Dependencies -> npmโฟลเดอร์ คลิกขวาและกดปุ่ม "กู้คืนแพ็คเกจ" โหลดทุกอย่างอย่างถูกต้องและฉันสามารถสร้างได้สำเร็จ


0

webpack ลิงค์ npm ใช้งานได้สำหรับฉัน

การกำหนดค่า webpack ของฉัน: "webpack": "^ 4.41.2", "webpack-dev-server": "^ 3.9.0", "webpack-cli": "^ 3.3.10"


0

การติดตั้งทั้ง webpack และ CLI ทำงานได้ทั่วโลกสำหรับฉัน

npm i -g webpack webpack-cli
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.