Ошибка eslint при развертывании на локальном сервере реагирующего веб-приложения

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

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

"eslint": "5.6.0"

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

D:\chintu\blog-exambunker-master\blog-exambunker-master\node_modules\eslint (version: 5.6.1)

как установить версию 5.6.0 Я устанавливаю eslint, который всегда устанавливается с последней версией, может кто-нибудь посоветовать мне, что делать?

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Массив зависимостей в React
Массив зависимостей в React
Все о массиве Dependency и его связи с useEffect.
11
0
16 078
15

Ответы 15

У меня точно такая же проблема. Я пробовал что-нибудь из этих предложений:

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

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

  1. Если вы использовали npm, установите yarn и вместо этого повторите с ним вышеуказанные шаги. Это может помочь, потому что у npm есть известные проблемы с подъемом пакетов, которые могут быть решены в будущих версиях.

  2. Убедитесь, что C:\Users\User\node_modules\eslint находится вне каталога вашего проекта. Например, вы могли случайно что-то установить в свою домашнюю папку.

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

ничего не работало. каждый раз, когда я делаю npm install/yarn, он продолжает устанавливать старую версию eslint.

Я тоже не смог найти решение для этого

abhinav pandey 05.10.2018 13:03

хорошо, я нашел свою проблему: у меня были пакеты npm и еще немного дерьма за пределами папок проектов (на c: / users / user), у них могла быть старая версия eslint. Разберись с этим и скажи мне, есть ли у тебя проблема или нет.

Добавьте SKIP_PREFLIGHT_CHECK = true в файл .env в вашем проекте.

Это не решает проблему, а просто скрывает сообщение об ошибке.

Treycos 07.11.2018 18:51

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

Я искал, где был eslint:

npm ls eslint

затем я удалил его с помощью:

npm uninstall ls eslint

Наконец я побежал

npm start

и это сработало.

это не объясняет корень проблемы, с которой борется OP, переустановка каждый раз не выглядит как решение, а как обходной путь

Azat Ibrakov 28.10.2018 19:47

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

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

"eslint": "5.6.0"

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

/ Users / macbook / node_modules / eslint (версия: 3.19.0)

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

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

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

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

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

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

  2. Убедитесь, что / Users / macbook / node_modules / eslint находится вне каталога вашего проекта. Например, вы могли случайно что-то установить в свою домашнюю папку.

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

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

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

npm ERR! код ELIFECYCLE npm ERR! ошибка 1 npm ERR! [email protected] начало: react-scripts start npm ERR! Статус выхода 1 npm ERR! npm ERR! Ошибка при запуске сценария [email protected]. npm ERR! Вероятно, это не проблема npm. Скорее всего, выше есть дополнительный вывод журнала.

npm ERR! Полный журнал этого запуска можно найти в: npm ERR! /Users/macbook/.npm/_logs/2018-11-01T15_26_42_405Z-debug.log

Поздравляем, вы скопировали полное сообщение об ошибке, но это не ответ

Treycos 07.11.2018 18:52

(Не делайте того, что я сделал, если вы не читаете все, что я опубликовал) По крайней мере, со мной я только что понизил версию eslint 5.8.0 до 5.6.0 (вручную). Почему? Поскольку, когда я использую какую-то библиотеку eslint, такую ​​как airbnb, она автоматически устанавливает последнюю версию eslint (5.8.0), проблема здесь в том, что эта версия конфликтует с предыдущей версией eslint, используемой response (5.6.0), поэтому, когда вы downgrade, вы просто вернетесь к предыдущему установленному eslint, так что здесь он работает нормально, но вы должны быть осторожны при обновлении вашей версии реакции.

Ошибка заключается в несовместимости версий eslint и babel-eslint. Чтобы решить эту проблему, сначала вам нужно удалить пакет eslint с помощью npm uninstall eslint. Эта команда удалит ваш пакет eslint. После этого вам необходимо установить версию 5.6.0eslint, поэтому напишите эту команду npm i [email protected]. Я надеюсь, что это будет вам полезно. Кроме того, вы можете удалить папку node_modules и затем установить ее.

Что решило это для меня, так это то, что в сообщении об ошибке он сказал мне, что в проекте был установлен eslint с 5.6.0, а другой установлен в users/andrew/nodemodules/eslint с версией 4.1.6. Я попытался сделать npm uninstall -g eslint, но это не сработало, поэтому я просто искал все файлы и папки в users/andrew/nodemodules/eslint и удалил их, и тогда это сработало. Я не уверен, что это хороший способ сделать это, но он сработал.

Создайте файл .env в корневом каталоге.

И вы можете проигнорировать чек, поставив

SKIP_PREFLIGHT_CHECK=true

в файле .env.

Ссылка: https://github.com/facebook/create-react-app/issues/5247#issuecomment-427221678

Обновлено: это не решение этой проблемы. Просто проигнорируйте ошибку, как она обсуждается в выпуске.

Просто удалите package-lock.json и node_modules, затем запустите npm install, затем npm start

еще вы могли бы установить npm я [email protected], тогда npm start

наслаждайся работой :)

  • Пункт списка

Откройте окно терминала НОВЫЙ в корневом каталоге.

Запустите команду

npm ls eslint

это должно показать вам установки, которые находятся «выше» по дереву зависимостей.

Перейдите в папки, содержащие gulp-eslint / eslint / babel-eslint или даже скрытые node_modules /, которые не должны были устанавливаться глобально.

Затем запустите одну или все эти команды в зависимости от того, где находятся файлы.

rm -rf node_modules/
rm -rf (name of other folders like eslint/gulp-eslint)

ВЕРНУТЬСЯ К ВАШЕМУ ПРОЕКТУ

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

В корневом каталоге вашего проекта

rm -rf node_modules/
rm -rf package-lock.json

(Если он не удалил node_modules, просто удалите его из своей папки)

Наконец, запустите следующее.

npm install

тогда

npm start

перейдите в папку node_modules и откройте response-scripts / package.json, найдите зависимости eslint и измените их. это исправлено таким образом.

https://github.com/wesbos/eslint-config-wesbos/issues/17

В вышеупомянутой ссылке они предложили установить @ abhijithvijayan / eslint-config как одноранговую зависимость. Посмотрите, работает ли это для вас.

вы можете установить глобальный eslint, подобный этому

{22:14}~/go/src/github.com ➭ npm ls eslint      
/Users/demon
└── [email protected] 

затем беги

{22:14}~/go/src/github.com ➭ npm uninstall eslint

в глобальном терминале вместо терминала vscode. затем беги

npm start

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