Ответ 1
Хорошо, это было легко:
npm install webpack-dev-server -g
Что меня смутило, что сначала мне это не нужно, возможно, что-то изменилось с новой версией.
Я работаю над 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
как кто-то упомянул о эта проблема в githubnpm install -g webpack
Сообщение об ошибке все еще сохраняется. Что еще я могу попробовать?
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;
Хорошо, это было легко:
npm install webpack-dev-server -g
Что меня смутило, что сначала мне это не нужно, возможно, что-то изменилось с новой версией.
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
.
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
.
означает просмотр в текущем каталоге.
Пряжа
У меня была проблема при запуске: yarn start
Это было исправлено при первом запуске: yarn install
У меня была та же проблема, но следующие шаги помогли мне выйти из нее.
Установка 'webpack-dev-server' локально (в каталоге проекта, который не выбирался из глобальной установки)
npm install --save webpack-dev-server
Может проверить, существует ли папка 'webpack-dev-server' внутри node_modules.
npx webpack-dev-server --mode development --config ./webpack.dev.js
npm run start
также отлично работает, когда ваша запись в скриптах package.json должна быть такой же, как и выше, без npx.
Я нашел, что принятый ответ не работает во всех сценариях. Чтобы гарантировать, что он работает на 100%, нужно также очистить кеш npm. Либо непосредственно перейдите к кешу и очистите блокировки, кеши, anonymous-cli-metrics.json; или можно попробовать npm cache clean
.
Так как автор очистил кеш, прежде чем попробовать рекомендуемое решение, возможно, что оно не стало частью предварительных условий.
Я устанавливаю с помощью 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
. Это сработало!
У меня была похожая проблема с пряжей, у меня ничего из вышеперечисленного не помогло, поэтому я просто удалил ./node_modules
и запустил yarn install
, и проблема исчезла.
по вопросам с
Как запустить веб-пакет локально вместо обычной глобальной опции
Взгляни на
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
Для глобальной установки: npm установить webpack-dev-server -g
Для локальной установки npm install --save-dev webpack
Когда вы ссылаетесь на веб-пакет в файле package.json, он пытается найти его в расположении node_modules\.bin \
.После локальной установки файл wbpack будет создан в папке: \ Node_modules\.bin\WebPack