使用npm start启动React项目时出现“npm ERR!code ELIFECYCLE”错误

7
我正在开发一个React应用程序。当我使用命令npm start时,会出现错误。我尝试删除node_modulespackage-lock.json,然后执行npm install。我还尝试执行npm cache clean --force。最后一件事是执行npm audit fix。但问题仍然存在。这里是我的错误信息:
> majestic-bay@0.1.0 start /home/serg/webdev/majestic-bay
> react-scripts start

/home/serg/webdev/majestic-bay/node_modules/terser-webpack-plugin/node_modules/p-limit/index.js:30
                } catch {}
                        ^

SyntaxError: Unexpected token {
    at new Script (vm.js:51:7)
    at createScript (vm.js:136:10)
    at Object.runInThisContext (vm.js:197:10)
    at Module._compile (internal/modules/cjs/loader.js:618:28)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:665:10)
    at Module.load (internal/modules/cjs/loader.js:566:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:506:12)
    at Function.Module._load (internal/modules/cjs/loader.js:498:3)
    at Module.require (internal/modules/cjs/loader.js:598:17)
    at require (internal/modules/cjs/helpers.js:11:18)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! majestic-bay@0.1.0 start: `react-scripts start`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the majestic-bay@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!     /home/serg/.npm/_logs/2020-11-06T06_52_29_568Z-debug.log

这是我的package.json文件:

{
    "name": "majestic-bay",
    "version": "0.1.0",
    "private": true,
    "dependencies": {
        "@testing-library/jest-dom": "^5.11.4",
        "@testing-library/react": "^11.1.0",
        "@testing-library/user-event": "^12.1.10",
        "react": "^17.0.1",
        "react-dom": "^17.0.1",
        "react-scripts": "4.0.0",
        "web-vitals": "^0.2.4"
    },
    "scripts": {
        "start": "react-scripts start",
        "build": "react-scripts build",
        "test": "react-scripts test",
        "eject": "react-scripts eject"
    },
    "eslintConfig": {
        "extends": [
        "react-app",
        "react-app/jest"
        ]
    },
    "browserslist": {
        "production": [
        ">0.2%",
        "not dead",
        "not op_mini all"
        ],
        "development": [
        "last 1 chrome version",
        "last 1 firefox version",
        "last 1 safari version"
        ]
    }
}

以下是错误文件的内容:

0 info it worked if it ends with ok
1 verbose cli [ '/home/serg/.nvm/versions/node/v9.11.2/bin/node',
1 verbose cli   '/home/serg/.nvm/versions/node/v9.11.2/bin/npm',
1 verbose cli   'start' ]
2 info using npm@6.14.8
3 info using node@v9.11.2
4 verbose run-script [ 'prestart', 'start', 'poststart' ]
5 info lifecycle majestic-bay@0.1.0~prestart: majestic-bay@0.1.0
6 info lifecycle majestic-bay@0.1.0~start: majestic-bay@0.1.0
7 verbose lifecycle majestic-bay@0.1.0~start: unsafe-perm in lifecycle true
8 verbose lifecycle majestic-bay@0.1.0~start: PATH: /home/serg/.nvm/versions/node/v9.11.2/lib/node_modules/npm/node_modules/npm-lifecycle/node-gyp-bin:/home/serg/webdev/majestic-bay/node_modules/.bin:/home/serg/.nvm/versions/node/v9.11.2/bin:/home/serg/.local/bin:/home/serg/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/opt/cxoffice/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl:/var/lib/snapd/snap/bin:/opt/cxoffice/bin:/home/serg/.yarn/bin:/home/serg/.yarn/bin
9 verbose lifecycle majestic-bay@0.1.0~start: CWD: /home/serg/webdev/majestic-bay
10 silly lifecycle majestic-bay@0.1.0~start: Args: [ '-c', 'react-scripts start' ]
11 silly lifecycle majestic-bay@0.1.0~start: Returned: code: 1  signal: null
12 info lifecycle majestic-bay@0.1.0~start: Failed to exec start script
13 verbose stack Error: majestic-bay@0.1.0 start: `react-scripts start`
13 verbose stack Exit status 1
13 verbose stack     at EventEmitter.<anonymous> (/home/serg/.nvm/versions/node/v9.11.2/lib/node_modules/npm/node_modules/npm-lifecycle/index.js:332:16)
13 verbose stack     at EventEmitter.emit (events.js:180:13)
13 verbose stack     at ChildProcess.<anonymous> (/home/serg/.nvm/versions/node/v9.11.2/lib/node_modules/npm/node_modules/npm-lifecycle/lib/spawn.js:55:14)
13 verbose stack     at ChildProcess.emit (events.js:180:13)
13 verbose stack     at maybeClose (internal/child_process.js:936:16)
13 verbose stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:220:5)
14 verbose pkgid majestic-bay@0.1.0
15 verbose cwd /home/serg/webdev/majestic-bay
16 verbose Linux 5.8.18-1-MANJARO
17 verbose argv "/home/serg/.nvm/versions/node/v9.11.2/bin/node" "/home/serg/.nvm/versions/node/v9.11.2/bin/npm" "start"
18 verbose node v9.11.2
19 verbose npm  v6.14.8
20 error code ELIFECYCLE
21 error errno 1
22 error majestic-bay@0.1.0 start: `react-scripts start`
22 error Exit status 1
23 error Failed at the majestic-bay@0.1.0 start script.
23 error This is probably not a problem with npm. There is likely additional logging output above.
24 verbose exit [ 1, true ]

删除节点模块并再次运行npm install。 - Sohail Ashraf
@SohailAshraf 我试了很多次,肯定不是这个问题。 - in43sh
@tadman 好的,但如果我在package.json中没有它,我该如何删除它? - in43sh
有没有简单的方法可以重现这个问题,以便我们可以帮助测试?是否有一些使用 react-cli 的简单步骤? - tadman
@tadman 我认为这是我的电脑的特定问题。我是这样想的,因为我正在使用 creat-react-app,而且我基本上只是几天前创建了我的应用程序,并没有真正放置任何代码。 - in43sh
显示剩余3条评论
1个回答

15

所以,问题出在Node版本上。我原先使用的是v9.11.2版本,当我升级到v12.19.0版本时,问题得到了解决。


如果你必须在旧版本的node.js(例如v8.x)下运行此程序,将react-scripts降级到3.4.2版本(其中包含terser-webpack-plugin依赖项),可以让我成功进行开发和构建而不出现错误。 - Greg K

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接