npx webpack настаивает на установке webpack-cli, но он уже установлен
Я пытаюсь запустить команду:
npx webpack
Он говорит мне, что ему нужен webpack-cli, и спрашивает, должен ли он его установить, я говорю "да". Тогда это дает мне:
PS C:\_ljdev\webpack demo> npx webpack
npx: installed 321 in 11.89s
One CLI for webpack must be installed. These are recommended choices, delivered as separate packages:
- webpack-cli (https://github.com/webpack/webpack-cli)
The original webpack full-featured CLI.
We will use "npm" to install the CLI via "npm install -D".
Do you want to install 'webpack-cli' (yes/no): yes
Installing 'webpack-cli' (running 'npm install -D webpack-cli')...
npm WARN webpack-cli@3.2.3 requires a peer of webpack@4.x.x but none is installed. You must install peer dependencies yourself.
+ webpack-cli@3.2.3
updated 1 package and audited 1053 packages in 2.093s
found 0 vulnerabilities
{ Error: Cannot find module 'webpack-cli'
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:581:15)
at Function.Module._load (internal/modules/cjs/loader.js:507:25)
at Module.require (internal/modules/cjs/loader.js:637:17)
at require (internal/modules/cjs/helpers.js:22:18)
at runCommand.then (C:\Users\luke.jenner\AppData\Roaming\npm-cache\_npx\3272\node_modules\webpack\bin\webpack.js:143:5)
at process._tickCallback (internal/process/next_tick.js:68:7) code: 'MODULE_NOT_FOUND' }
Поэтому я пытаюсь установить его локально, вручную через:
PS C:\_ljdev\webpack demo> npm install webpack-cli
npm WARN webpack-cli@3.2.3 requires a peer of webpack@4.x.x but none is installed. You must install peer dependencies yourself.
+ webpack-cli@3.2.3
updated 1 package and audited 1053 packages in 8.034s
found 0 vulnerabilities
И я проверяю, что это установлено с помощью:
PS C:\_ljdev\webpack demo> npm list
webpack-demo@1.0.0 C:\_ljdev\webpack demo
`-- webpack-cli@3.2.3
+-- chalk@2.4.2
| +-- ansi-styles@3.2.1
(other dependencies omitted for brevity)
Так что, похоже, установлено.
Я снова пробую npx webpack и получаю тот же вывод и вопрос, чтобы снова установить webpack-cli.
Может кто-нибудь сказать мне, почему он не находит локальную установку webpack-cli? Это должно быть установлено глобально?
Или, что более любопытно: почему происходит сбой, когда он пытается установить его сам?
4 ответа
Я столкнулся с этой ошибкой совсем недавно. Удалениеnode_modules
папка и переустановка зависимостей с помощью npm i
сделано npx webpack ...
команда снова работает. Не могу сказать почему...
Я столкнулся с той же проблемой.
После полдня тестирования я наконец-то узнал, что в пути моего проекта есть специальные символы. Удалить их, перезапустить npx webpack
и все ок.
В пути к вашему проекту есть место, возможно, вы можете удалить его и повторить попытку. нажмите здесь, чтобы проверить мой результат
Редактировать:
Извините, я не выразил четко. Я имел в виду, что в пути проекта были специальные символы, которые будут преобразованы в некоторые другие во время установки npm.
Если вы измените имя своего рабочего каталога, например, из webpack-demo
в webpack/demo
, удалите и переустановите webpack
а также webpack-cli
, Затем откройте package.json
из webpack
пакет в node_modules
каталог, вы найдете _where
атрибут, который содержит локальный абсолютный путь, но отличается от вашего текущего реального пути проекта.
Я думаю (возможно, не правильно, может быть, какой-то другой метод), что npx
Команда будет использовать _where
атрибут, чтобы найти webpack
пакет. Так что, если путь неправильный, npm
будет совет, который вы должны установить webpack-cli
первый. Но даже вы переустановите webpack-cli
другие сценарии все еще не могут его найти.
Попробуйте запустить
npx webpack-cli
вместо
npx webpack
.
Вам нужно установить
webpack-cli
сначала локально используя
npm install --save-dev webpack-cli
.
Попробуйте установить webpack-cli по всему миру.
npm i -g webpack-cli
Пройдите этот выпуск на github.
https://github.com/webpack/webpack-cli/issues/299