reactjs - 如何解决 npm run build "Failed to compile. Failed to minify the bundle." 的 React app 错误?
问题描述
我运行“create-react-app frontend”(如果有帮助,将结果加载到存储库中)cd 到前端然后成功运行“npm run test”,但是当我运行“npm run build”时,我收到以下错误:
Creating an optimized production build...
Failed to compile.
Failed to minify the bundle. Error: static/js/main.6eb16068.chunk.js from Terser
TypeError: Cannot read property 'minify' of undefined
at compiler.run (/Users/jo/sdk/my-app/node_modules/react-scripts/scripts/build.js:169:23)
at finalCallback (/Users/jo/sdk/my-app/node_modules/webpack/lib/Compiler.js:210:39)
at hooks.done.callAsync.err (/Users/jo/sdk/my-app/node_modules/webpack/lib/Compiler.js:226:13)
at AsyncSeriesHook.eval [as callAsync] (eval at create (/Users/jo/sdk/my-app/node_modules/tapable/lib/HookCodeFactory.js:32:10), <anonymous>:6:1)
at AsyncSeriesHook.lazyCompileHook (/Users/jo/sdk/my-app/node_modules/tapable/lib/Hook.js:154:20)
at onCompiled (/Users/jo/sdk/my-app/node_modules/webpack/lib/Compiler.js:224:21)
at hooks.afterCompile.callAsync.err (/Users/jo/sdk/my-app/node_modules/webpack/lib/Compiler.js:553:14)
at AsyncSeriesHook.eval [as callAsync] (eval at create (/Users/jo/sdk/my-app/node_modules/tapable/lib/HookCodeFactory.js:32:10), <anonymous>:6:1)
at AsyncSeriesHook.lazyCompileHook (/Users/jo/sdk/my-app/node_modules/tapable/lib/Hook.js:154:20)
at compilation.seal.err (/Users/jo/sdk/my-app/node_modules/webpack/lib/Compiler.js:550:30)
at AsyncSeriesHook.eval [as callAsync] (eval at create (/Users/jo/sdk/my-app/node_modules/tapable/lib/HookCodeFactory.js:32:10), <anonymous>:6:1)
at AsyncSeriesHook.lazyCompileHook (/Users/jo/sdk/my-app/node_modules/tapable/lib/Hook.js:154:20)
at hooks.optimizeAssets.callAsync.err (/Users/jo/sdk/my-app/node_modules/webpack/lib/Compilation.js:1295:35)
at AsyncSeriesHook.eval [as callAsync] (eval at create (/Users/jo/sdk/my-app/node_modules/tapable/lib/HookCodeFactory.js:32:10), <anonymous>:6:1)
at AsyncSeriesHook.lazyCompileHook (/Users/jo/sdk/my-app/node_modules/tapable/lib/Hook.js:154:20)
at hooks.optimizeChunkAssets.callAsync.err (/Users/jo/sdk/my-app/node_modules/webpack/lib/Compilation.js:1286:32)
Read more here: https://facebook.github.io/create-react-app/docs/troubleshooting#npm-run-build-fails-to-minify
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! my-app@0.1.0 build: `react-scripts build`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the my-app@0.1.0 build 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/jo/.npm/_logs/2019-02-02T22_35_37_563Z-debug.log
这是日志:
0 info it worked if it ends with ok
1 verbose cli [ '/usr/local/bin/node', '/usr/local/bin/npm', 'run', 'build' ]
2 info using npm@6.4.1
3 info using node@v10.15.1
4 verbose run-script [ 'prebuild', 'build', 'postbuild' ]
5 info lifecycle my-app@0.1.0~prebuild: my-app@0.1.0
6 info lifecycle my-app@0.1.0~build: my-app@0.1.0
7 verbose lifecycle my-app@0.1.0~build: unsafe-perm in lifecycle true
8 verbose lifecycle my-app@0.1.0~build: PATH: /usr/local/lib/node_modules/npm/node_modules/npm-lifecycle/node-gyp-bin:/Users/jo/sdk/my-app/node_modules/.bin:/Library/Frameworks/Python.framework/Versions/3.6/bin:/usr/local/spark/bin:/usr/local/scala/bin:/opt/local/bin:/opt/local/sbin:/usr/local/mysql/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/sbin:/opt/X11/bin:/Applications/DevDesktop/tools:/usr/local/bin
9 verbose lifecycle my-app@0.1.0~build: CWD: /Users/jo/sdk/my-app
10 silly lifecycle my-app@0.1.0~build: Args: [ '-c', 'react-scripts build' ]
11 silly lifecycle my-app@0.1.0~build: Returned: code: 1 signal: null
12 info lifecycle my-app@0.1.0~build: Failed to exec build script
13 verbose stack Error: my-app@0.1.0 build: `react-scripts build`
13 verbose stack Exit status 1
13 verbose stack at EventEmitter.<anonymous> (/usr/local/lib/node_modules/npm/node_modules/npm-lifecycle/index.js:301:16)
13 verbose stack at EventEmitter.emit (events.js:189:13)
13 verbose stack at ChildProcess.<anonymous> (/usr/local/lib/node_modules/npm/node_modules/npm-lifecycle/lib/spawn.js:55:14)
13 verbose stack at ChildProcess.emit (events.js:189:13)
13 verbose stack at maybeClose (internal/child_process.js:970:16)
13 verbose stack at Process.ChildProcess._handle.onexit (internal/child_process.js:259:5)
14 verbose pkgid my-app@0.1.0
15 verbose cwd /Users/jo/sdk/my-app
16 verbose Darwin 17.7.0
17 verbose argv "/usr/local/bin/node" "/usr/local/bin/npm" "run" "build"
18 verbose node v10.15.1
19 verbose npm v6.4.1
20 error code ELIFECYCLE
21 error errno 1
22 error my-app@0.1.0 build: `react-scripts build`
22 error Exit status 1
23 error Failed at the my-app@0.1.0 build script.
23 error This is probably not a problem with npm. There is likely additional logging output above.
24 verbose exit [ 1, true ]
当我搜索时,我发现了这个错误修复。
但是,我不知道这意味着什么......我将如何实施提到的修复?我阅读了有关缩小问题的信息,但我的 package.json 文件显示 react-scripts@>=2.0.0:
{
"name": "frontend",
"version": "0.1.0",
"private": true,
"dependencies": {
"react": "^16.7.0",
"react-dom": "^16.7.0",
"react-scripts": "2.1.3"
},
"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"
]
}
解决方案
尝试将此添加到 package.json 中的依赖项中:"terser": "3.14.1",
问题来自当前版本的 terser (3.16),所以现在需要保持版本固定。
推荐阅读
- webgl - 获取 webGL2 片段着色器上的当前像素位置
- javascript - 如何在 d3 中从 v4 转换为 v3
- woocommerce - 在 woocommerce 帐户页面的下载选项卡上显示产品图片
- reactjs - docker 上没有 package.json
- repast-simphony - 在 Repast Symphony 中动态更改代理的边框颜色
- bash - 是否可以在 bash 脚本中包含 nohup 命令?
- react-native - 如何将上下文提供者与导航器连接起来
- postgresql - 减少我在 postgresql 中查询的执行时间
- pycharm - 使 Pycharm 中的语法高亮与 Sublime Text 3 一样好
- c# - 如何使用属性动态编译带有资源引用的代码?