Kesalahan: Tidak dapat menemukan modul 'webpack'

151

Saya baru memulai dengan webpack dan saya mengalami kesulitan untuk mendapatkan sampel multi-entry-point untuk dibuat. File webpack.config.js dalam contoh termasuk baris

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

yang gagal untuk saya dengan kesalahan

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

Mencari-cari di sekitar, saya menemukan contoh lain menggunakan CommonsChunkPlugin dengan ekspresi

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

yang gagal karena kesalahan

ReferenceError: webpack is not defined

Beberapa pencarian lainnya menemukan sejumlah contoh termasuk

var webpack = require('webpack');

dan bangunan saya sekarang gagal

Error: Cannot find module 'webpack'

Saya bingung bagaimana harus melanjutkan.

Ed.
sumber
2
Apakah Anda pernah berlari npm install webpacksebelumnya?
Johannes Ewald
Iya. Webpack diinstal dan bekerja pada contoh lain. Itu dalam mencoba menambahkan plugin untuk contoh multiple-entry-point yang saya mengalami masalah.
Ed.
Error: Cannot find module 'webpack'adalah kesalahan simpul. Jadi ini tidak ada hubungannya dengan webpack itu sendiri (afaict). Sepertinya simpul mencari di folder yang salah ...
Johannes Ewald
6
Begitu, npm install -g webpacktidak bekerja untuk saya juga. Tetapi tidak dengan npm install webpack- pastikan Anda berada di folder root aplikasi saat Anda menelepon npm install webpacklalu periksa apakah modul tersebut ada di node_modulesfolder. Tampaknya juga webpackmembutuhkan fsevents(opsional) modul pada sistem linux - Saya menggunakan Windows jadi saya tidak yakin - coba instal fseventsjuga
AndreiDMS
3
Seperti yang saya katakan di atas, instalasi global tidak bekerja untuk saya juga, jadi coba instal webpackdi folder aplikasi lokal, menggunakan npm install webpack, tanpa-g
AndreiDMS

Jawaban:

272

Tautkan paket yang terinstal secara global ke proyek Anda

npm link webpack
Ruslanas Balčiūnas
sumber
7
Ini adalah jawaban paling sederhana di luar sana.
Thomas W
1
Di file mana pengaturan ini memengaruhi? Saya tidak melihat perubahan pada file json. Bisakah Anda jelaskan?
Royi Namir
tampaknya tidak pula untuk memutuskan tautan. webpack-dev-server macet setelah ini.
Plankton
Setelah sebulan tidak berhasil, saya sudah hampir menyerah dan terus bekerja dengan Angular. Ini akhirnya berhasil! Terima kasih.
NestorArturo
Saya menginstal webpack, tetapi saya menjalankan webpack tanpa parameter menunjukkan, jenis pesan ini: yang mana yang Anda ingin instal (webpack-cli / web-command)
Ng Sharma
59

Saat bekerja di windows, saya telah menginstal webpack secara lokal dan itu memperbaiki masalah saya

Jadi, pada prompt perintah Anda, buka direktori tempat Anda ingin menjalankan webpack, instal webpack secara lokal (tanpa -g) dan nikmati ...

Ran
sumber
10
tetapi Anda tidak menyebutkan cara menginstalnya "secara lokal"
jpganz18
secara lokal adalah npm menginstal webpack, tanpa menggunakan -g seperti yang disebutkan. Ini berhasil dalam kasus saya.
Honza P.
24

Tampaknya menjadi masalah Windows yang umum. Ini memperbaikinya untuk saya:

Nodejs tidak dapat menemukan modul yang diinstal pada Windows?

"Tambahkan variabel lingkungan yang dipanggil NODE_PATHdan atur ke %USERPROFILE%\Application Data\npm\node_modules(Windows XP),%AppData%\npm\node_modules (Windows 7), atau di mana saja npm akhirnya menginstal modul pada rasa Windows Anda. Untuk melakukannya dengan sekali dan untuk semua, tambahkan ini sebagai variabel Sistem di tab Advanced dari dialog System Properties (jalankan control.exe sysdm.cpl, System, 3). "

Perhatikan bahwa Anda sebenarnya tidak dapat menggunakan variabel lingkungan lain dalam nilai NODE_PATH. Artinya, jangan hanya menyalin dan menempelkan string itu di atas, tetapi aturlah ke jalur yang sebenarnya diselesaikan sepertiC:\Users\MYNAME\AppData\Roaming\npm\node_modules

Jamie Treworgy
sumber
1
tidak berfungsi untuk saya di Windows 10. Tidak ada node_modulesfolder dalam C:\Users\MYNAME\AppData\Roaming\npm`. I tried to set nilai NODE_PATH` C:\Program Files (x86)\nodejs\node_modulestetapi tidak membantu
VB_
3
Bekerja dengan baik bagi saya pada Windows 10: setx NODE_PATH %AppData%\npm\node_modules. Anda mungkin perlu memulai ulang cmdsebelum NODE_PATHvariabel tersedia atau dijalankan set NODE_PATH=%AppData%\npm\node_modules.
Nux
23

Saya memecahkan masalah yang sama dengan menginstal ulang, jalankan perintah ini

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

rmselalu merupakan perintah yang berbahaya, terutama dengan -f, harap perhatikan bahwa sebelum menjalankannya !!!!!

troy
sumber
2
package-lock.json adalah biang keladinya
Sérgio S. Filho
17

Jalankan perintah di bawah ini di Terminal:

npm install --save-dev webpack

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

Sreen Sunki
sumber
9

Saya mengalami masalah ini pada OS X dan sepertinya disebabkan oleh ketidakcocokan versi antara saya yang diinstal secara global webpackdan yang saya instal secara lokal webpack-dev-server. Memperbarui keduanya ke versi terbaru menyingkirkan masalah.

Cody Sand
sumber
yang bekerja untuk saya juga, jadi saya pikir itu layak dipertimbangkan dalam berbagai skenario jika Anda memiliki masalah ini.
JL Peyret
2

Jika Anda telah menginstal paket node dan masih menerima pesan bahwa paket tidak terdefinisi, Anda mungkin memiliki masalah dengan PATH yang menautkan ke biner. Hanya untuk memperjelas biner dan executable pada dasarnya melakukan hal yang sama, yaitu mengeksekusi paket atau aplikasi. ei webpack ... menjalankan paket webpack node.

Baik di Windows dan Linux ada folder biner global. Di Windows saya percaya itu seperti C: // Windows / System32 dan di Linux itu usr / bin. Ketika Anda membuka terminal / command prompt, profil itu menautkan variabel PATH ke folder bin global sehingga Anda dapat menjalankan paket / aplikasi dari itu.

Dugaan terbaik saya adalah menginstal webpack secara global mungkin tidak berhasil menempatkan file yang dapat dieksekusi di folder biner global. Tanpa eksekusi di sana, Anda akan mendapatkan pesan kesalahan. Ini bisa menjadi masalah lain, tetapi aman untuk mengatakan bahwa jika Anda di sini membaca ini, menjalankan webpack secara global tidak berfungsi untuk Anda.

Resolusi saya untuk masalah ini adalah dengan menghapus menjalankan webpack secara global dan menautkan PATH ke folder biner node_module, yaitu /node_modules/.bin.

WINDOWS: tambahkan node_modules / .bin ke PATH Anda. Berikut adalah tutorial tentang cara mengubah variabel PATH di windows.

LINUX: Buka root proyek Anda dan jalankan ini ...

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

Di Linux Anda harus menjalankan perintah ini setiap kali Anda membuka terminal Anda. Tautan ini di sini menunjukkan kepada Anda cara membuat perubahan ke variabel PATH Anda permanen.

Jed Lynch
sumber
1

Di windows, saya telah mengamati bahwa masalah ini muncul jika Anda tidak memiliki hak administratif (yaitu, Anda bukan administrator lokal) pada mesin.

Seperti yang disarankan orang lain, solusinya adalah menginstal secara lokal dengan tidak menggunakan -gpetunjuk.

dev.bv
sumber
1

Buka npm command prompt dan - cd solution folder dan kemudian jalankan npm link webpack di NPM cmd sebelum dan kembali membangun ..

SAIRAM
sumber
1

Anda bisa mencoba ini.

npm install --only=dev

Ini bekerja untuk saya.

aermin
sumber
0

Tidak ada yang disarankan di atas bekerja untuk saya (termasuk variabel NODE_PATH). Saya membuat tautan sym "node_modules" dari folder lokal saya ke AppData global (misalnya di bawah) dan itu bekerja seperti pesona.

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

Baru tahu bahwa menggunakan terminal Atom IDE tidak menginstal dependensi secara lokal (mungkin bug atau hanya saya). Menginstal git bash secara eksternal dan menjalankan perintah npm kembali bekerja untuk saya

Agbolade Oladayo
sumber
0

bagi saya, ini adalah umpan balik kesalahan yang salah.

ada kesalahan konfigurasi di webpack.config.js,

hapus file dan mulai lagi menyelesaikan masalah saya

Seeliang
sumber
0

Saya punya banyak masalah untuk mendapatkan aplikasi .NET Core 2.0 yang sangat sederhana untuk dibangun di VS 2017. Ini adalah kesalahan dari AppVeyor, namun pada dasarnya hal itu sama secara lokal (beberapa jalur dihilangkan untuk keamanan):

Melakukan build Webpack yang pertama dijalankan ...

module.js: 327 throw err;

EXEC: error: Tidak dapat menemukan modul '........ / node_modules / webpack / bin / webpack.js'

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

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

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

saat startup (node.js: 140: 18)

di node.js: 1043: 3

csproj (25,5): error MSB3073: Perintah "node node_modules / webpack / bin / webpack.js --config webpack.config.vendor.js" keluar dengan kode 1.

Bangun GAGAL.

Saya menemukan pertanyaan dan jawaban ini , dan saya perhatikan contoh lokal saya juga memiliki tanda peringatan yang sama di atas {Project Root} -> Dependencies -> npmfolder. Mengklik kanan dan menekan "Pulihkan paket" membuat semuanya dimuat dengan benar, dan saya berhasil membangun.

X3074861X
sumber
0

tautan npm webpack bekerja untuk saya.

Konfigurasi webpack saya: "webpack": "^ 4.41.2", "webpack-dev-server": "^ 3.9.0", "webpack-cli": "^ 3.3.10"

jayesh
sumber
0

Menginstal webpack dan CLI secara global bekerja untuk saya.

npm i -g webpack webpack-cli
David Gogua
sumber