Почему npm start (после create-react-app) не запускается?

После того, как я создаю образец приложения для реагирования с помощью create-react-app, запуск npm завершается сбоем.

Я пробовал это, используя узлы 11.4 и 10.4 (npm 6.4.1)

npm install create-react-app -g
create-react-app t2
cd t2
npm start

Ожидал

Чтобы иметь возможность запустить простой реагирующий сервер на попадание в браузер по адресу localhost:3000

Действительный

Сервер не запустился, в моем терминале:

$ npm start

> [email protected] start /Users/samr/dev/githubs/react/t2
> react-scripts start

/Users/samr/dev/githubs/react/t2/node_modules/ajv/lib/keyword.js:65
      throw new Error('custom keyword definition is invalid: '  + this.errorsText(validateDefinition.errors));
      ^

Error: custom keyword definition is invalid: data.errors should be boolean
    at Ajv.addKeyword (/Users/samr/dev/githubs/react/t2/node_modules/ajv/lib/keyword.js:65:13)
    at module.exports (/Users/samr/dev/githubs/react/t2/node_modules/ajv-errors/index.js:10:7)
    at Object.<anonymous> (/Users/samr/dev/githubs/react/t2/node_modules/schema-utils/src/validateOptions.js:22:1)
    at Module._compile (internal/modules/cjs/loader.js:723:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:734:10)
    at Module.load (internal/modules/cjs/loader.js:620:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:560:12)
    at Function.Module._load (internal/modules/cjs/loader.js:552:3)
    at Module.require (internal/modules/cjs/loader.js:659:17)
    at require (internal/modules/cjs/helpers.js:22:18)
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!     /Users/samr/.npm/_logs/2019-02-09T23_19_40_848Z-debug.log

Похоже на известную проблему: github.com/webpack/webpack/issues/8768

Lambda Fairy 10.02.2019 00:47

то же самое здесь, может быть, вы можете проверить этот github.com/webpack/webpack/issues/8768, изменив файл в файле node_modules\ajv-ошибки\index.js, как кто-то говорит здесь, решил это на данный момент как быстрое исправление

PepitoPompin 10.02.2019 01:16

Я тоже сталкиваюсь с этим. Npm start отлично работал у меня для приложения, которое я создал прошлой ночью, но сегодня я попытался использовать приложение create-react-app для нового проекта, и в новом проекте npm start у меня не работает. Копирование моей папки node_modules из моего предыдущего приложения помогло в качестве временного обходного пути, но как только я попытался установить реагирующий маршрутизатор в свое новое приложение, а затем запустить npm start, я снова столкнулся с этой ошибкой.

cathamatic 10.02.2019 01:07
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Массив зависимостей в React
Массив зависимостей в React
Все о массиве Dependency и его связи с useEffect.
16
3
19 554
5
Перейти к ответу Данный вопрос помечен как решенный

Ответы 5

просто добавьте resolutions в ваш package.json следующим образом:

  { 
    "dependencies": {
      ...
    }
    "resolutions": {
      "ajv": "6.8.1"
    }
  }

затем запустите npm install. если вы используете пряжу, yarn install

Я добавил это, установил npm, но npm start по-прежнему не работает.

javazen 10.02.2019 02:37
Ответ принят как подходящий

Быстрое исправление упоминается здесь:

По сути, перейдите к node_modules/ajv/lib/keyword.js и закомментируйте строки 64 и 65.

В моем каталоге node_modules нет папки ajv

Abel Agoi 10.02.2019 01:35

Согласно предложению в ответах Github, приведенное ниже изменение позволило мне работать.

To fix this error, just change:
Line 14: `errors: 'full',`
to:
Line 14: `errors: true`
in file **node_modules\ajv-errors\index.js**

Как сказал @atsnam, вы можете найти разрешение здесь https://github.com/webpack/webpack/issues/8768.

Если вы используете пряжу

добавьте ниже в package.json

"resolutions": {
  "ajv": "6.8.1"
}

затем запустите yarn install

если вы используете нпм

npm uninstall ajv
npm install [email protected]

Это сработало для меня

это не сработает, если вы развернете приложение. вместо этого я предлагаю добавить "ajv": "6.8.1" в зависимости

jsnewbie 10.02.2019 20:28

Просто измените на npm install --save [email protected]

aquilesb 11.02.2019 00:56

если вы используете npm 5 или новее, все установки по умолчанию должны сохраняться на package.json.

Lambda Fairy 16.02.2019 23:59

У меня была такая же проблема с образцом TomTom ReactJS, который я получил с GitHub. Этот ответ решил проблему.

Dan7el 06.05.2020 21:09

Принятый ответ не сработал для меня. Вместо этого я сделал это:

  • удалена папка node_modules.
  • cd в родительский каталог проекта.

    установка npm
    запуск нпм

Это сработало как шарм.

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