Webpack - webpack-dev-server: команду не знайдено


97

Я працюю над веб-додатком React, використовуючи веб-пакет, вільно поруч із цим посібником .

Випадково я додав папку node_modules до свого git. Потім я знову видалив його за допомогою git rm -f node_modules/*.

Тепер, коли я намагаюся запустити сервер webpack, я отримую таку помилку:

> 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

Спочатку я думав, що це лише мій проект, але потім перевірив контрольні точки коду підручника: та сама помилка! Тож щось, здається, переплутано у всьому світі.

Ось що я намагався до цього часу:

  • rm node_modules та переінсталюйте за допомогою npm install
  • npm cache cleanяк хтось згадав щодо цього питання на github
  • встановити webpack глобально за допомогою npm install -g webpack
  • повністю видалити node та npm з моєї системи (за допомогою цього посібника ) та перевстановити за допомогою brew

Повідомлення про помилку залишається. Що ще я можу спробувати?

PS: Зміст 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;

Будь ласка, надайте вміст файлу webpack.dev.config.js.
stdob--

Я отримую ту саму помилку, і webpack-dev-server точно знаходиться там у папці
Деймон

Відповіді:


164

Гаразд, це було легко:

npm install webpack-dev-server -g

Що мене бентежило, що спочатку мені це не було потрібно, можливо, все змінилося з новою версією.


30
Чомусь без -gпрапора у мене не вийшло . Отже: npm i webpack-dev-server -gвирішив проблему.
Martin Velchevski

2
Я теж вимагав прапор -g
Алекс Гранде

5
Мені також потрібно було встановити npm webpack -g, оскільки спочатку він не був встановлений глобально
TJ Trapp

1
Це було замішанням, оскільки на сторінці веб-пакета вони не мають опції -g у своєму прикладі. Якщо ви не хочете встановлювати глобально, ви можете створити скрипт у package.json і запустити його через npm run.
kingd9

я намагаюся видалити цей пакет за допомогою команди "npm uninstall webpack-dev-server -g --save", але не видалений, будь ласка, дайте мені знати, як видалити цей пакет.
Bhavin

32

FYI, щоб отримати доступ до будь-якого сценарію через командний рядок, як ви намагалися, вам потрібно зареєструвати скрипт як скрипт оболонки (або будь-який скрипт, такий як .js, .rb), як ці файли в папці /usr/binв UNIX. І система повинна знати, де їх знайти. тобто місцеположення повинно бути завантажено в $PATHмасив.


У вашому випадку сценарій webpack-dev-serverуже встановлений десь у ./node_modulesкаталозі, але система не знає, як отримати до нього доступ. Отже, щоб отримати доступ до команди webpack-dev-server, вам також потрібно встановити сценарій у глобальному масштабі .

$ npm install webpack-dev-server -g

Тут -gйдеться про глобальний обсяг.


Однак це не рекомендується, оскільки ви можете зіткнутися з проблемами, що суперечать версіям; так, замість цього ви можете встановити команду в npm«S package.jsonфайл , наприклад:

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

Цей параметр дозволить вам отримати доступ до потрібного сценарію за допомогою простої команди

$ npm start

Так коротко, щоб запам’ятати і пограти. І, npmзнає місце розташування модуля webpack-dev-server.


Але коли я біжу node_modules/.bin/webpack-dev-server, чому в ньому сказано, що це недійсна команда? Я думаю, що біг node_modules/.bin/webpack-dev-serverдорівнює бігуnpm run dev
Чор

14

Сценарій webpack-dev-serverвже встановлений у каталозі ./node_modules. Ви можете встановити його знову глобально до

sudo npm install -g webpack-dev-server

або запустити його так

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

. означає шукати його в поточному каталозі.


8

Пряжа

У мене була проблема під час запуску: yarn start

Це було виправлено із запуском першим: yarn install


1
yarn installУ моєму випадку працювало просто . Не впевнений, у чому причина.
Генріх

1
або npm iщо вам більше подобається
Акін Хван,

5

У мене була та сама проблема, але наступні кроки допомогли мені вийти з неї.

  1. Встановлення локально 'webpack-dev-server' (у каталозі проекту, оскільки він не вибирався з глобальної інсталяції)

    npm install --save webpack-dev-server

Може перевірити, чи існує папка 'webpack-dev-server' усередині node_modules.

  1. Запуск за допомогою npx для безпосереднього запуску

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

npm run start також чудово працює там, де ваш запис у скриптах package.json повинен бути таким, як вище, як без npx.


1

Я виявив, що прийнята відповідь працює не у всіх сценаріях. Щоб забезпечити 100-відсоткову роботу, необхідно ТАКОЖ очистити кеш npm. Або перейдіть безпосередньо до кешу та очистіть замки, кеші, анонім-cli-metrics.json; або можна спробувати npm cache clean.

Оскільки автор очистив кеш, перш ніж спробувати рекомендоване рішення, можливо, що не вдалося зробити його частиною необхідних умов.


1

Для глобальної інсталяції: npm install webpack-dev-server -g

Для локальної установки npm install --save-dev webpack

Коли ви посилаєтесь на веб-пакет у файлі package.json, він намагається знайти його в розташуванні node_modules \ .bin \

Після локальної установки файл wbpack буде створений у розташуванні: \ node_modules \ .bin \ webpack


0

Я встановлюю, npm install --save-dev webpack-dev-serverпотім встановлюю package.json та webpack.config.js так: налаштування .

Потім я запускаю webpack-dev-server і отримую цю помилку про помилку .

Якщо я не використовую npm install -g webpack-dev-serverдля встановлення, то як це виправити?

Я виправив помилку configuration has an unknown property 'colors', видаливши colors:true. Це спрацювало!


0

У мене була подібна проблема з пряжею , жодне з перерахованого не працювало у мене, тому я просто видалив ./node_modulesі запустив, yarn installі проблема зникла.


0

npm встановити webpack-dev-server -g - ОС Windows

Краще використовувати sudo в Linux, щоб уникнути помилок дозволів

sudo npm встановити webpack-dev-server -g

Ви можете використовувати sudo npm install webpack-dev-server --save, щоб додати його до package.json.

Іноді вам може знадобитися запустити наведені нижче команди.

npm install webpack-cli --save або npm install webpack-cli -g


Будь ласка, не радите використовувати sudo з npm.
richardsonwtr

Подивіться, чому тут
richardsonwtr

0

Я помітив ту ж проблему після встановлення VSCode та додавання віддаленого сховища Git. Якимось чином /node_modules/.binпапку було видалено і запущена npm install --save webpack-dev-serverв командному рядку заново встановила відсутні папки та виправила мою проблему.

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