Проблемы с загрузчиком babel в приложении react-create-app

Проблема

create-react-app инициализирует репозиторий, в котором установлен babel-loader как более старая версия, чем требуется.

БРЕВНО:

There might be a problem with the project dependency tree.
It is likely not a bug in Create React App,
but something you need to fix locally.

The react-scripts package provided by Create React App requires a dependency:

  "babel-loader": "8.0.4"

Don't try to install it manually: your package manager does it automatically.
However, a different version of babel-loader was detected higher up in the tree:

  C:\Users\user\node_modules\babel-loader (version: 8.0.2)

Manually installing incompatible versions is known to cause hard-to-debug issues.

If prefer to ignore this check, add SKIP_PREFLIGHT_CHECK=true to an .env file in your project.
That will permanently disable this message but you might encounter other issues.
    To fix the dependency tree, try following the steps below in the exact order:

      1. Delete package-lock.json (not package.json!) and/or yarn.lock in your project folder.
      2. Delete node_modules in your project folder.
      3. Remove "babel-loader" from dependencies and/or devDependencies in the package.json
    file in your project folder.
      4. Run npm install or yarn, depending on the package manager you use.

    In most cases, this should be enough to fix
    the problem.
    If this has not helped, there are a few other things you can try:

      5. If you used npm, install yarn (http://yarnpkg.com/) and repeat the above steps with it instead.
         This may help because npm has known issues with package hoisting which may get resolved in future versions.

      6. Check if C:\Users\User\node_modules\babel-loader is outside your project directory.
         For example, you might have accidentally installed something in your home folder.

      7. Try running npm ls babel-loader in your project folder.
         This will tell you which other package
    (apart from the expected react-scripts) installed babel-loader.

    If nothing else helps, add SKIP_PREFLIGHT_CHECK=true to an .env file in your project.
    That would permanently disable this preflight check in case you want to proceed anyway.

    P.S. We know this message is long but please read the steps above :-) We hope you find them helpful!

    npm ERR! code ELIFECYCLE
    npm ERR! errno 1
    npm ERR! [email protected] start: `react-scripts start`
    npm ERR! Exit status 1
    npm ERR!
    npm ERR! Failed at the [email protected] start script.
    npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

    npm ERR! A complete log of this run can be found in:
    npm ERR!     C:\Users\User\AppData\Roaming\npm-cache\_logs\2018-12-13T18_22_47_802Z-debug.log

После того, что это случилось

$ npx create-react-app reg && cd reg && npm start

Что я пробовал

Я попытался удалить папку node_modules и package-lock.json, затем запустить npm install.

Также установил пряжу и запустил yarn && yarn start.

Я воссоздал приложение 3 раза и получил тот же результат.

Информация, которая может быть полезна

Версия узла: 10.8.0
Версия NPM: 6.5.0
создать-реагировать-приложение / реагировать-сценарии: 2.1.1
бабель-погрузчик: 8.0.4
Список глобальных пакетов (npm ls --depth=0 -g):

+-- [email protected]
+-- [email protected]
+-- [email protected]
+-- [email protected]

файл package.json:

{
  "name": "reg",
  "version": "0.1.0",
  "private": true,
  "dependencies": {
    "react": "^16.6.3",
    "react-dom": "^16.6.3",
    "react-scripts": "2.1.1"
  },
  "scripts": {
    "start": "react-scripts start",
    "build": "react-scripts build",
    "test": "react-scripts test",
    "eject": "react-scripts eject"
  },
  "eslintConfig": {
    "extends": "react-app"
  },
  "browserslist": [
    ">0.2%",
    "not dead",
    "not ie <= 11",
    "not op_mini all"
  ]
}

В самом сообщении об ошибке есть список инструкций по устранению этой проблемы, вы пробовали их?

Agney 13.12.2018 20:05

@BoyWithSilverWings да. посмотрите на часть "что я пробовал"

Paul Losev 13.12.2018 20:08

Шаг 6 или Шаг 7?

Agney 13.12.2018 20:16

@BoyWithSilverWings от 1 до 7

Paul Losev 13.12.2018 20:21
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Массив зависимостей в React
Массив зависимостей в React
Все о массиве Dependency и его связи с useEffect.
29
4
28 620
15
Перейти к ответу Данный вопрос помечен как решенный

Ответы 15

Вы можете на мгновение понизить версию react-scripts до 1.1.5 в файле package.json, затем удалить папку node_modules и в случае использования NPM удалить файл package-lock.json, а в случае Yarn удалить файл yarn.lock. После этого переустановите зависимости и запустите сервер разработки с помощью команды yarn start или npm run start.

На Mac:

Удалите конфликтующий пакет с /Users/<yourusername>/node_modules

работает и в linux, это просто конфликт с некоторыми пакетами ... спасибо + rep

w411 3 20.07.2019 08:53

Круто, это просто и мне нравится. Спасибо

Wisnu 11.03.2021 09:54

Создайте файл .env в каталоге вашего проекта и включите в него SKIP_PREFLIGHT_CHECK=true.

Решил это за меня. Вопрос в том ... Почему это происходит? и что именно делает это решение?

Idan Levi 05.01.2019 02:44

не лучший вариант решения конфликтов версий. Мне не нужно, чтобы он просто работал, мне нужно, чтобы он работал правильно

Paul Losev 09.01.2019 15:27

почему это работает? что такое PREFLIGHT_CHECK?

Oliver Watkins 03.11.2021 16:18
Ответ принят как подходящий

Получите ту же проблему, но дайте ей час, чтобы получить решение Когда мы запускаем npm start, вы получаете такую ​​ошибку, которая связана с проблемами версии для этой проблемы. Перейдите в папку node_modules:

Project->node_modules->react-scripts->package.json

проверьте файл package.json

вот и у вас: "babel-loader": "8.0.4" сначала удалите: папка babel-loader для Project->node_modules->babel-loader а затем запустите npm i [email protected] (это зависит от вашей версии, вы можете изменить ее, например: npm i [email protected]), после этого, возможно, у вас возникла проблема с веб-пакетом, затем выполните то же самое remvoe webpack от "Project->node_modules->webpack" и переустановите npm i [email protected]

4.19.1 * версия webpack может быть изменена ..

Спустя 2 года это все еще лучшее решение, хотя моя проблема была противоположной: слишком новые версии babel-loader и webpack вместо слишком старых. Однако явная установка запрошенных версий позволила запустить npm.

SilverSideDown 18.01.2021 21:56

Привет и спасибо с 2021 года.

codenamezero 01.10.2021 16:50

Я просто не понимаю, почему пакетная блокировка не может решить эту проблему.

Oliver Watkins 03.11.2021 16:16

However, a different version of babel-loader was detected higher up in the tree:

Вы должны удалить пакет babel-loader, который был обнаружен выше по дереву. В выходных данных говорится, что есть папка node_modules с babel-loader в ..

C:\Users\user\node_modules\babel-loader (version: 8.0.2)

Вы также можете полностью удалить каталог C: \ Users \ user \ node_modules, если по какой-то причине у вас нет проекта, который находится там внутри / Users / {user}

У меня была эта проблема, и я просто добавил

"babel-loader": "8.0.4",

в мой package.json в зависимостях и, похоже, решил проблему

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

1nullpointer 05.06.2019 14:37

это означает, что вы устанавливаете буксирный вафельный погрузчик

rm yarn.lock
run npm uninstall [email protected]

У меня та же проблема. Я решил это, удалив папку node_modules в User / и файл package-lock.json (если существует). Тогда он должен работать отлично.

У меня была такая же проблема. Для всех, кто находит эту ветку через Google и является новичком, как и я. Вот что именно нужно ввести в ваш терминал (пользователь Mac).

Допустим, вы получаете ту же ошибку, что и Пол:

"Пакет сценариев реакции, предоставляемый приложением Create React, требует зависимости: "бабель-загрузчик": "8.0.6"

Вот что я ввел в терминал. Могу ошибаться, но у меня сработало (я тоже новичок):

Шаг 1: Удалите папку node_modules, а также файлы package_lock.json.

Шаг 2: В вашем терминале введите компакт диск - (мы просто выходим за пределы нашей папки проекта и переходим в вашу домашнюю папку)

Шаг 3: В вашем терминале введите npm i "имя-зависимости @ номер", поэтому для приведенного выше примера это будет: npm я [email protected]

Шаг 4: Теперь в вашем терминале перейдите в папку своего проекта и введите: npm install или пряжа установить

Шаг 5: Попробуйте запустить npm start, и если все проблемы были решены, он должен запустить сервер разработки.

Примечание: Мне пришлось проделать описанный выше процесс дважды, для [email protected], а также для Webpack.

cd - не попадает в вашу домашнюю папку. Вы наверное имели ввиду cd ~
Joel Peltonen 20.11.2019 13:53

У меня также возникают проблемы после создания приложения-проекта с помощью следующих команд:

create-react-app "project name"
create-react-app "project name" --use-npm
npx create-react-app. 

Во всех случаях результатом была ошибка, указанная справа вверху:

[There might be a problem with the project dependency tree. It is likely not a bug in Create React App, but something you need to fix locally.......][...]

наблюдая за ошибкой, появилась строка с небольшой подсказкой:

"/Users/john/node_modules/babel-loader (version: "7.1.5") -> was a version that creates conflict with above specified - version "[email protected]"

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

 C:\Users\user\node_modules\babel-loader

Удалите node_modules из \ user \ node_modules не удаляйте из своего проекта

если вы используете бэкэнд (nodejs), проверьте, используете ли вы веб-пакет в своем бэкэнде убедитесь, что ваша версия веб-пакета create-response-app и серверная версия веб-пакета совпадают

В каталоге /home/<username>/node_modules/babel-loader просто измените в файле package.json версию на "8.0.4" в вашем случае.

Работал на меня

У меня такая же ошибка с [email protected], я удалил ссылку из package.json, а также модуль из node_modules и установил «npm i [email protected]», но затем представил ошибку @jest.

Я удалил модуль @jest из node_modules, затем установил требуемую версию зависимости, как и для babel-loader, чтобы решить эту проблему.

Несколько лет спустя та же проблема.

Для меня решение было в моем c:/users/myName/node_modules. Полностью удалите этот node_modules и повторите попытку.

Для меня та же проблема была решена добавлением "резолюций": { "babel-loader": "8.1.0" // требуемая версия } в моем файле package.json.

  1. Удалены node-modules, yarn.loack, package-lock.json.
  2. начало пряжи
  3. Он работал отлично

Другие вопросы по теме