Webpack - webpack-dev-server: komut bulunamadı


101

Bu öğreticinin yanında gevşek bir şekilde webpack kullanarak bir React web uygulaması üzerinde çalışıyorum .

Yanlışlıkla node_modules klasörünü git'ime ekledim. Daha sonra tekrar kullanarak kaldırdım git rm -f node_modules/*.

Şimdi, web paketi sunucusunu başlatmayı denediğimde aşağıdaki hatayı alıyorum:

> webpack-dev-server -d --config webpack.dev.config.js --content-base public/ --progress --colors

sh: webpack-dev-server: command not found

npm ERR! Darwin 14.4.0
npm ERR! argv "node" "/usr/local/bin/npm" "run" "devserve"
npm ERR! node v0.12.4
npm ERR! npm  v2.10.1
npm ERR! file sh
npm ERR! code ELIFECYCLE
npm ERR! errno ENOENT
npm ERR! syscall spawn
npm ERR! Blabber@0.0.1 devserve: `webpack-dev-server -d --config webpack.dev.config.js --content-base public/ --progress --colors`
npm ERR! spawn ENOENT

İlk başta bunun sadece benim projem olduğunu düşündüm, ama sonra öğreticinin kod kontrol noktalarını kontrol ettim: aynı hata! Yani küresel olarak bir şeyler karışmış gibi görünüyor.

Şimdiye kadar denediğim şey:

  • rm node_modules ve yeniden yükle npm install
  • npm cache cleanGithub'da bu sorunla ilgili olarak bahsedildiği gibi
  • webpack'i global olarak yükleyin npm install -g webpack
  • sistemimden düğümü ve npm'yi tamamen sil ( bu kılavuzu kullanarak ) ve brew kullanarak yeniden yükle

Hata mesajı hala devam ediyor. Başka ne deneyebilirim?

Not: İçeriği webpack.dev.config.js:

var config = require('./webpack.config.js');
var webpack = require('webpack');

config.plugins.push(
  new webpack.DefinePlugin({
    "process.env": {
      "NODE_ENV": JSON.stringify("development")
    }
  })
);

module.exports = config;

Lütfen dosyanın içeriğini sağlayın webpack.dev.config.js.
stdob

Aynı hatayı alıyorum ve webpack-dev-server kesinlikle klasörün içinde
Damon

Yanıtlar:


170

Tamam, kolaydı:

npm install webpack-dev-server -g

İlk başta buna ihtiyacım olmaması kafamı karıştırdı, muhtemelen işler yeni bir sürümle değişti.


30
Nedense -gbayrak olmadan benim için işe yaramadı . Yani: npm i webpack-dev-server -gsorunu çözdü.
Martin Velchevski

2
-G bayrağına da ihtiyacım vardı
Alex Grande

5
Ayrıca webpack -g'yi npm yüklemem gerekiyordu çünkü ilk başta global olarak kurulmamıştı
TJ Trapp

1
Bu karışıklıktı çünkü web paketi sayfasında örneklerinde -g seçeneği yok. Global olarak kurmak istemiyorsanız, package.json'da bir komut dosyası oluşturabilir ve bunu npm run ile çalıştırabilirsiniz.
kingd9

"npm uninstall webpack-dev-server -g --save" komutunu kullanarak bu paketi kaldırmayı deniyorum, ancak kaldırılmadıysa, lütfen bana bu paketi nasıl kaldıracağımı bildirin.
Bhavin

32

Bilginize, denediğiniz gibi komut satırı aracılığıyla herhangi bir betiğe erişmek için, dizindeki bu dosyalar gibi , betiğin sistemde bir kabuk betiği (veya .js, .rb gibi herhangi bir komut dosyası) olarak kaydettirmeniz gerekir. /usr/binUNIX'te. Ve sistem onları nerede bulacağını bilmelidir. yani konum $PATHdiziye yüklenmelidir .


Sizin durumunuzda, betik webpack-dev-serverzaten ./node_modulesdizinin içinde bir yere kurulmuştur , ancak sistem ona nasıl erişileceğini bilmiyor. Dolayısıyla, komuta erişmek için webpack-dev-serverbetiği global kapsamda da kurmanız gerekir .

$ npm install webpack-dev-server -g

Burada, -ggenel kapsamı ifade eder.


Ancak, sürüm çakışması sorunlarıyla karşılaşabileceğiniz için bu yöntem önerilmez; bunun yerine, npmadlı kullanıcının package.jsondosyasında aşağıdaki gibi bir komut ayarlayabilirsiniz :

  "scripts": {
    "start": "webpack-dev-server -d --config webpack.dev.config.js --content-base public/ --progress --colors"
   }

Bu ayar, istediğiniz komut dosyasına basit bir komutla erişmenizi sağlar

$ npm start

Ezberlemek ve oynamak çok kısa. Ve npmmodülün yerini bilir webpack-dev-server.


Ben çalıştırdığınızda Ama node_modules/.bin/webpack-dev-server?, Neden bu geçersiz komut olduğunu söyledi Koşuyorum düşünüyorum node_modules/.bin/webpack-dev-serverçalışan eşittirnpm run dev
Chor

15

Komut dosyası webpack-dev-serverzaten ./node_modules dizini içinde kurulu. Bunu global olarak yeniden kurabilirsiniz:

sudo npm install -g webpack-dev-server

ya da böyle çalıştır

./node_modules/webpack-dev-server/bin/webpack-dev-server.js -d --config webpack.dev.config.js --content-base public/ --progress --colors

. geçerli dizinde bakmak anlamına gelir.


8

İplik

Koşarken sorun yaşadım: yarn start

İlk çalıştırma ile düzeltildi: yarn install


1
yarn installBenim durumumda basit çalıştı. Sebebinin ne olduğundan emin değilim.
Hinrich

1
veya npm ihangisini tercih edersen
Akin Hwan

5

Aynı sorunu yaşadım ama aşağıdaki adımlar bundan kurtulmama yardımcı oldu.

  1. 'Webpack-dev-server'ı yerel olarak kurmak (Global kurulumdan seçim yapmadığı için proje dizininde)

    npm install - webpack-dev-server'ı kaydedin

Node_modules içinde 'webpack-dev-server' klasörünün var olup olmadığını doğrulayabilir.

  1. Doğrudan çalıştırmak için npx kullanarak çalıştırılıyor

npx webpack-dev-server --mode development --config ./webpack.dev.js

npm run start package.json komut dosyalarındaki girişinizin npx olmadan yukarıdaki gibi olması gerektiği yerlerde de iyi çalışır.


1

Kabul edilen cevabın tüm senaryolarda işe yaramadığını buldum. % 100 çalıştığından emin olmak için ayrıca npm önbelleğini de temizlemelisiniz. Ya doğrudan önbelleğe gidin ve kilitleri, önbellekleri, anonim-cli-metrics.json'u temizleyin; veya biri deneyebilir npm cache clean.

Yazar, önerilen çözümü denemeden önce önbelleği temizlediğinden, ön koşulların bir parçası haline getirilememiş olabilir.


1

Genel kurulum için: npm webpack-dev-server -g yükle

Yerel kurulum için npm install --save-dev webpack

Package.json dosyasında webpack'e başvurduğunuzda, node_modules \ .bin \ konumuna bakmaya çalışır.

Yerel kurulumdan sonra, wbpack dosyası şu konumda oluşturulacaktır: \ node_modules \ .bin \ webpack


1

VSCode'u yükledikten ve uzak bir Git deposu ekledikten sonra aynı sorunu fark ettim. Bir şekilde /node_modules/.binklasör silindi ve npm install --save webpack-dev-serverkomut satırında çalışıyordu , eksik klasörü yeniden yükledim ve sorunumu çözdüm.


0

Daha npm install --save-dev webpack-dev-serversonra package.json ve webpack.config.js'yi şu şekilde kurarım: setting .

Sonra webpack-dev-server çalıştırıyorum ve bu hatayı alıyorum .

npm install -g webpack-dev-serverYüklemek için kullanmazsam , nasıl düzeltilir?

Ben hata sabit configuration has an unknown property 'colors'kaldırarak colors:true. İşe yaradı!


0

Yarn ile benzer bir problemim vardı , yukarıdakilerin hiçbiri benim için işe yaramadı, bu yüzden basitçe çıkardım ./node_modulesve koştum yarn installve problem çözüldü.


0

npm webpack-dev-server -g yükle - Windows İşletim Sistemi

İzin hatalarını önlemek için linux'ta sudo kullanmanız daha iyi

sudo npm webpack-dev-server -g yükle

Package.json'a eklemek için sudo npm install webpack-dev-server --save kullanabilirsiniz.

Bazen aşağıdaki komutları çalıştırmanız gerekebilir.

npm webpack-cli yükle --save veya npm webpack-cli -g yükle


Lütfen npm ile sudo kullanmayı tavsiye etmeyin.
richardsonwtr

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.