Подтвердить что ты не робот

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

Я работаю над react webapp, используя webpack, свободно этот учебник.

Случайно, я добавил папку 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! [email protected] 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;
4b9b3361

Ответ 1

Хорошо, это было легко:

npm install webpack-dev-server -g

Что меня смутило, что сначала мне это не нужно, возможно, что-то изменилось с новой версией.

Ответ 2

FYI, чтобы получить доступ к любой script через командную строку, как вы пытались, вы необходимо, чтобы script зарегистрирован как оболочка script (или любой вид script как .js,.rb) в системе, подобной этим файлам в каталоге /usr/bin в UNIX. И система должна знать, где их найти. то есть местоположение должно быть загружено в массив $PATH.


В вашем случае script webpack-dev-server уже установлен где-то внутри каталога ./node_modules, но система не знает, как получить к нему доступ. Итак, чтобы получить доступ к команде webpack-dev-server, вам необходимо установить script в глобальную область.

$ npm install webpack-dev-server -g

Здесь -g относится к глобальной области.


Однако это не рекомендуется, потому что вы можете столкнуться с конфликтующими версиями версий; поэтому вместо этого вы можете установить команду в файле npm package.json, например:

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

Этот параметр позволит вам получить доступ к script с простой командой

$ npm start

Так мало, чтобы запоминать и играть. И npm знает расположение модуля webpack-dev-server.

Ответ 3

script 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

. означает просмотр в текущем каталоге.

Ответ 4

Пряжа

У меня была проблема при запуске: yarn start

Это было исправлено при первом запуске: yarn install

Ответ 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.

Ответ 6

Я нашел, что принятый ответ не работает во всех сценариях. Чтобы гарантировать, что он работает на 100%, нужно также очистить кеш npm. Либо непосредственно перейдите к кешу и очистите блокировки, кеши, anonymous-cli-metrics.json; или можно попробовать npm cache clean.

Так как автор очистил кеш, прежде чем попробовать рекомендуемое решение, возможно, что оно не стало частью предварительных условий.

Ответ 7

Я устанавливаю с помощью npm install --save-dev webpack-dev-server, тогда я устанавливаю package.json и webpack.config.js следующим образом: настройка.

Затем я запускаю webpack-dev-сервер и получаю эту ошибку ошибка.

Если я не использую npm install -g webpack-dev-server для установки, то как его исправить?

Я исправил ошибку configuration has an unknown property 'colors', удалив colors:true. Это сработало!

Ответ 8

У меня была похожая проблема с пряжей, у меня ничего из вышеперечисленного не помогло, поэтому я просто удалил ./node_modules и запустил yarn install, и проблема исчезла.

Ответ 9

по вопросам с

Как запустить веб-пакет локально вместо обычной глобальной опции

Взгляни на

fooobar.com/questions/279560/...

Ответ 10

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

Лучше использовать sudo в Linux, чтобы избежать ошибок прав доступа

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

Вы можете использовать sudo npm для установки webpack-dev-server --save, чтобы добавить его в package.json.

Иногда вам может потребоваться выполнить следующие команды.

npm устанавливает webpack-cli --save или npm устанавливает webpack-cli -g

Ответ 11

Для глобальной установки: npm установить webpack-dev-server -g

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

Когда вы ссылаетесь на веб-пакет в файле package.json, он пытается найти его в расположении node_modules\.bin \

.После локальной установки файл wbpack будет создан в папке: \ Node_modules\.bin\WebPack