npx webpack настаивает на установке webpack-cli, но он уже установлен - PullRequest
0 голосов
/ 25 февраля 2019

Я пытаюсь запустить команду:

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 локальной установки?Нужно ли устанавливать его глобально?

Или, что более любопытно: почему происходит сбой при попытке установить его самостоятельно?

Ответы [ 2 ]

0 голосов
/ 12 июня 2019

Я столкнулся с той же проблемой.

После полдня тестирования я наконец-то обнаружил, что в пути моего проекта есть специальные символы.Удалите их, перезапустите npx webpack и все в порядке.

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

Редактировать:

Извините, я не выразил четко.Я имел в виду, что в пути проекта были специальные символы, которые будут преобразованы в некоторые другие во время установки npm.

Если вы измените имя своего рабочего каталога, например, с webpack-demo на webpack/demo, удалите и переустановите webpack и webpack-cli.Затем откройте пакет package.json из webpack в каталоге node_modules, вы найдете атрибут _where, который содержит локальный абсолютный путь, но отличается от вашего текущего реального пути проекта .

Полагаю (возможно, не прав, возможно, какой-то другой метод), что команда npx будет использовать атрибут _where для определения местоположения пакета webpack.Так что, если путь неверный, npm будет иметь подсказку, что вам следует сначала установить webpack-cli.Но даже если вы переустановите webpack-cli, другие скрипты все равно не смогут его найти.

0 голосов
/ 26 февраля 2019

Попробуйте установить webpack-cli глобально.

npm i -g webpack-cli

Пройдите эту проблему на github.

https://github.com/webpack/webpack-cli/issues/299
...