为什么npm启动(在create-react-app之后)无法运行?

jav*_*zen 12 npm reactjs create-react-app

在使用create-react-app创建示例react应用程序后,npm start失败.

我使用节点11.4和10.4(npm 6.4.1)尝试了这个

npm install create-react-app -g
create-react-app t2
cd t2
npm start
Run Code Online (Sandbox Code Playgroud)

预期:能够启动简单的反应服务器在localhost:3000的浏览器中命中

实际:服务器没有启动,在我的终端中得到了这个:

$ npm start

> t2@0.1.0 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! t2@0.1.0 start: `react-scripts start`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the t2@0.1.0 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
Run Code Online (Sandbox Code Playgroud)

aqu*_*esb 9

正如@atsnam所说,你可以在这里找到解决方案https://github.com/webpack/webpack/issues/8768.

如果你使用纱线

将以下内容添加到package.json中

"resolutions": {
  "ajv": "6.8.1"
}
Run Code Online (Sandbox Code Playgroud)

然后运行 yarn install

如果你使用npm

npm uninstall ajv
npm install ajv@6.8.1
Run Code Online (Sandbox Code Playgroud)

这对我有用


ats*_*nam 7

这里提到快速修复https://github.com/webpack/webpack/issues/8768

基本上转到node_modules/ajv/lib/keyword.js并注释掉第64和65行.

  • 我的 node_modules 目录中没有 ajv 文件夹 (2认同)