npm 运行 build - 尽管开发版本工作正常但编译失败

npm run build - fails to compile despite development version working fine

我有一个用 create-react-app 创建的 React 应用程序,npm run build 无法编译生产版本。它抛出以下错误:

$ npm run build

> portfolio@0.1.0 build C:\Users\User\Documents\Web_Projects\Portfolio\portfolio
> react-scripts build

Creating an optimized production build...
Failed to compile.

Error: C:\Users\User\Documents\Web_Projects\Portfolio\portfolio\node_modules\c  lean-css\lib\options\format.js:1
  SyntaxError: Invalid or unexpected token

  - compileFunction

  - loader.js:1047 wrapSafe
    internal/modules/cjs/loader.js:1047:16

  - loader.js:1097 Module._compile
    internal/modules/cjs/loader.js:1097:27

  - loader.js:1153 Object.Module._extensions..js
    internal/modules/cjs/loader.js:1153:10

  - loader.js:977 Module.load
    internal/modules/cjs/loader.js:977:32

  - loader.js:877 Function.Module._load
    internal/modules/cjs/loader.js:877:14

  - loader.js:1019 Module.require
    internal/modules/cjs/loader.js:1019:19

  - helpers.js:77 require
    internal/modules/cjs/helpers.js:77:18

  - tidy-rules.js:1 Object.<anonymous>
    [portfolio]/[clean-css]/lib/optimizer/level-1/tidy-rules.js:1:14

  - loader.js:1133 Module._compile
    internal/modules/cjs/loader.js:1133:30


npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! portfolio@0.1.0 build: `react-scripts build`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the portfolio@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!     C:\Users\User\AppData\Roaming\npm-cache\_logs20-11-06T14_23_18_276Z-debug.log

并且日志文件包含以下内容:

0 info it worked if it ends with ok
1 verbose cli [
1 verbose cli   'C:\Program Files\nodejs\node.exe',
1 verbose cli   'C:\Program Files\nodejs\node_modules\npm\bin\npm-cli.js',
1 verbose cli   'run',
1 verbose cli   'build'
1 verbose cli ]
2 info using npm@6.14.4
3 info using node@v12.16.3
4 verbose run-script [ 'prebuild', 'build', 'postbuild' ]
5 info lifecycle portfolio@0.1.0~prebuild: portfolio@0.1.0
6 info lifecycle portfolio@0.1.0~build: portfolio@0.1.0
7 verbose lifecycle portfolio@0.1.0~build: unsafe-perm in lifecycle true
8 verbose lifecycle portfolio@0.1.0~build: PATH: C:\Program Files\nodejs\node_modules\npm\node_modules\npm-lifecycle\node-gyp-bin;C:\Users\User\Documents\Web_Projects\Portfolio\portfolio\node_modules\.bin;C:\Users\User\bin;C:\Program Files\Git\mingw64\bin;C:\Program Files\Git\usr\local\bin;C:\Program Files\Git\usr\bin;C:\Program Files\Git\usr\bin;C:\Program Files\Git\mingw64\bin;C:\Program Files\Git\usr\bin;C:\Users\User\bin;C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2\bin;C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2\libnvvp;C:\Program Files (x86)\Common Files\Intel\Shared Libraries\redist\intel64\compiler;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0;C:\Program Files\Intel\WiFi\bin;C:\Program Files\Common Files\Intel\WirelessCommon;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0;C:\WINDOWS\System32\OpenSSH;C:\Program Files (x86)\Calibre2;C:\Program Files\Microsoft SQL Server0\Tools\Binn;C:\Program Files (x86)\Windows Kits.1\Windows Performance Toolkit;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\NVIDIA Corporation\Nsight Compute 2019.5.0;C:\Program Files\nodejs;C:\Program Files\MATLAB\R2020a\runtime\win64;C:\Program Files\MATLAB\R2020a\bin;C:\Program Files\Microsoft SQL Server\Client SDK\ODBC0\Tools\Binn;C:\Program Files (x86)\Microsoft SQL Server0\Tools\Binn;C:\Program Files\Microsoft SQL Server0\DTS\Binn;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0;C:\WINDOWS\System32\OpenSSH;C:\Program Files\Git\cmd;C:\Program Files\Docker\Docker\resources\bin;C:\ProgramData\DockerDesktop\version-bin;C:\Program Files\MySQL\MySQL Shell 8.0\bin;C:\Users\User\AppData\Local\Microsoft\WindowsApps;C:\texlive19\bin\win32;C:\Users\User\AppData\Local\Programs\Microsoft VS Code\bin;C:\Users\User\AppData\Roaming\npm;C:\Users\User\AppData\Local\Programs\Azure Data Studio\bin;C:\Program Files\heroku\bin;C:\Program Files\Git\usr\bin\vendor_perl;C:\Program Files\Git\usr\bin\core_perl
9 verbose lifecycle portfolio@0.1.0~build: CWD: C:\Users\User\Documents\Web_Projects\Portfolio\portfolio
10 silly lifecycle portfolio@0.1.0~build: Args: [ '/d /s /c', 'react-scripts build' ]
11 silly lifecycle portfolio@0.1.0~build: Returned: code: 1  signal: null
12 info lifecycle portfolio@0.1.0~build: Failed to exec build script
13 verbose stack Error: portfolio@0.1.0 build: `react-scripts build`
13 verbose stack Exit status 1
13 verbose stack     at EventEmitter.<anonymous> (C:\Program Files\nodejs\node_modules\npm\node_modules\npm-lifecycle\index.js:332:16)
13 verbose stack     at EventEmitter.emit (events.js:310:20)
13 verbose stack     at ChildProcess.<anonymous> (C:\Program Files\nodejs\node_modules\npm\node_modules\npm-lifecycle\lib\spawn.js:55:14)
13 verbose stack     at ChildProcess.emit (events.js:310:20)
13 verbose stack     at maybeClose (internal/child_process.js:1021:16)
13 verbose stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:286:5)
14 verbose pkgid portfolio@0.1.0
15 verbose cwd C:\Users\User\Documents\Web_Projects\Portfolio\portfolio
16 verbose Windows_NT 10.0.19041
17 verbose argv "C:\Program Files\nodejs\node.exe" "C:\Program Files\nodejs\node_modules\npm\bin\npm-cli.js" "run" "build"
18 verbose node v12.16.3
19 verbose npm  v6.14.4
20 error code ELIFECYCLE
21 error errno 1
22 error portfolio@0.1.0 build: `react-scripts build`
22 error Exit status 1
23 error Failed at the portfolio@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 ]

npm start 工作正常,我可以在浏览器中看到开发构建正常。但是 npm run build 产生了这个错误。

我以前从未遇到过此错误,并且无法从错误或日志中破译任何我可以尝试让它工作的东西。我什至不知道是什么导致了错误。

我已经尝试使用 --save 再次安装我所有的依赖项,我也尝试过清除 npm 缓存,但过去我想不出还有什么问题。

欢迎就下一步去哪里提出建议!

看起来节点模块在某个地方已经损坏。我删除了 node_modules 文件夹和 运行 npm install 并且它已修复。