Реагировать на ошибку зависимости проекта при добавлении веб-пакета - PullRequest
2 голосов
/ 04 октября 2019

У меня установлен веб-пакет с приведенной ниже командой

yarn add webpack --dev

и после того, как я запустил команду запуска пряжи в папке моего приложения реагирования

D:\Workspace\fuel-man-ui\fuel-man-ui>yarn start

Ошибка получения ниже.

yarn run v1.19.0 $ response-scripts start

Возможно, существует проблема с деревом зависимостей проекта. Скорее всего, это не ошибка в Create React App, но что-то, что вам нужно исправить локально.

Пакетact-scripts, предоставляемый Create React App, требует зависимости:

"webpack": "4.29.6 "

Не пытайтесь установить его вручную: ваш менеджер пакетов сделает это автоматически. Однако в дереве выше была обнаружена другая версия веб-пакета:

D: \ Workspace \ fuel-man-ui \ fuel-man-ui \ node_modules \ webpack (версия: 4.41.0)

Ручная установка несовместимых версий, как известно, вызывает проблемы с отладкой.

Если вы предпочитаете игнорировать эту проверку, добавьте SKIP_PREFLIGHT_CHECK = true в файл .env в вашем проекте. Это навсегда отключит это сообщение, но вы можете столкнуться с другими проблемами.

Чтобы исправить дерево зависимостей, попробуйте выполнить действия, описанные ниже, в точном порядке:

  1. Удалить package-lock.json(не package.json!) и / или yarn.lock в папке вашего проекта.
  2. Удалите node_modules в папке вашего проекта.
  3. Удалите «webpack» из зависимостей и / или devDependencies в пакетеФайл .json в папке вашего проекта.
  4. Запустите npm install или yarn, в зависимости от используемого менеджера пакетов.

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

Если вы использовали npm, установите пряжу (http://yarnpkg.com/) и повторите с ней приведенные выше шаги. Это может помочь, поскольку npm имеет известные проблемы с подъемом пакетов, которые могут быть решены в будущих версиях.

Проверьте, находится ли D: \ Workspace \ fuel-man-ui \ fuel-man-ui \ node_modules \ webpack вне каталога вашего проекта. Например, вы могли случайно установить что-то в вашем домепапка.

Попробуйте запустить npm ls webpack в папке вашего проекта. Это скажет вам, какой другой пакет (кроме ожидаемых скриптов реакции) установил webpack.

Если больше ничего не помогает, добавьте SKIP_PREFLIGHT_CHECK = true в файл .env в вашем проекте. Это навсегда отключит эту предварительную проверку, если вы все равно захотите продолжить.

PS Мы знаем, что это сообщениедолго, но, пожалуйста, прочитайте шаги выше :-) Мы надеемся, что вы найдете их полезными!

error Команда завершилась неудачно с кодом выхода 1. info Посетите https://yarnpkg.com/en/docs/cli/run для получения документации оэто команда.

i have deleted node_modules from my project and devdependencies, also i have removed global node_modules and cache. still getting same error.

Я побежал npm ls webpack и получил ниже дерева

fuel-man-ui@0.1.0 D:\Workspace\fuel-man-ui\fuel-man-ui
+-- react-scripts@3.0.1
| `-- webpack@4.29.6
|   `-- webpack@4.41.0  extraneous
`-- webpack@4.41.0

npm ERR! extraneous: webpack@4.41.0 D:\Workspace\fuel-man-ui\fuel-man-ui\node_modules\react-scripts\node_modules\webpack\node_modules\webpack

Ответы [ 3 ]

2 голосов
/ 04 октября 2019

Пакету реагирующих сценариев, предоставляемых приложением Create React, требуется зависимость:

"webpack": "4.29.6"

Не пытайтесь установить его вручную:Ваш менеджер пакетов делает это автоматически. Однако в дереве выше была обнаружена другая версия веб-пакета:

В корневом каталоге проекта удалите node_modules и yarn.lock. В package.json удалите webpack из зависимостей и снова запустите yarn.

Если вы хотите изменить webpack.config для этого проекта, вы можете запустить yarn eject , теперь вы несете ответственность заwebpack.config, поэтому будет сложнее обновить реагирующие сценарии.

Если вы не хотите отвечать за webpack.config, вы можете попробовать использовать response-app-rewired anстатья об этом здесь

0 голосов
/ 12 ноября 2019

Вы должны создать .env файл в корне (не внутри папки src) и добавить SKIP_PREFLIGHT_CHECK=true Тогда вы можете использовать yarn start или npm start. Это работает!

0 голосов
/ 08 октября 2019

Вчера у меня была такая же проблема. В моем случае оказалось, что у меня было две установки node (одна с использованием brew, другая с использованием загруженного файла dmg). Помогло, когда я убрал тот, который установлен через brew.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...