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.