在反应项目上运行 NPM 启动后出错
Posted
技术标签:
【中文标题】在反应项目上运行 NPM 启动后出错【英文标题】:Error after running NPM start on react project 【发布时间】:2018-10-15 03:13:22 【问题描述】:我已将项目从以前的机器复制到当前机器。跑完之后
npm install
和
npm start
我的终端给出了这个错误
sh: react-scripts: 找不到命令 npm 错误!文件 sh npm 错误!代码生命周期 npm 错误! errno ENOENT npm 错误!系统调用生成 npm 错误! renew_react@0.1.0 开始:'反应脚本开始' npm 错误!生成 ENOENT npm 错误! npm 错误!在 renew_react@0.1.0 启动脚本处失败。 npm 错误!这可能不是 npm 的问题。有可能 上面的附加日志输出。
npm 错误!可以在以下位置找到此运行的完整日志: npm 错误! /Users/TimLowe/.npm/_logs/2018-05-04T15_10_08_807Z-debug.log
_logs/2018-05-04T15_10_08_807Z-debug.log
中的代码是:
0 info it worked if it ends with ok
1 verbose cli [ '/usr/local/bin/node', '/usr/local/bin/npm', 'start' ]
2 info using npm@5.6.0
3 info using node@v10.0.0
4 verbose run-script [ 'prestart', 'start', 'poststart' ]
5 info lifecycle renew_react@0.1.0~prestart: renew_react@0.1.0
6 info lifecycle renew_react@0.1.0~start: renew_react@0.1.0
7 verbose lifecycle renew_react@0.1.0~start: unsafe-perm in lifecycle true
8 verbose lifecycle renew_react@0.1.0~start: PATH: /usr/local/lib/node_modules/npm/node_modules/npm-lifecycle/node-gyp-bin:/Users/TimLowe/Desktop/CodeBridge:WDI/project4_Renew/Renew/renew_react/node_modules/.bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/git/bin
9 verbose lifecycle renew_react@0.1.0~start: CWD: /Users/TimLowe/Desktop/CodeBridge:WDI/project4_Renew/Renew/renew_react
10 silly lifecycle renew_react@0.1.0~start: Args: [ '-c', 'react-scripts start' ]
11 info lifecycle renew_react@0.1.0~start: Failed to exec start script
12 verbose stack Error: renew_react@0.1.0 start:
react-scripts start
12 verbose stack spawn ENOENT
12 verbose stack at ChildProcess.<anonymous> (/usr/local/lib/node_modules/npm/node_modules/npm-lifecycle/lib/spawn.js:48:18)
12 verbose stack at ChildProcess.emit (events.js:182:13)
12 verbose stack at maybeClose (internal/child_process.js:947:16)
12 verbose stack at Process.ChildProcess._handle.onexit (internal/child_process.js:236:5)
13 verbose pkgid renew_react@0.1.0
14 verbose cwd /Users/TimLowe/Desktop/CodeBridge:WDI/project4_Renew/Renew/renew_react
15 verbose Darwin 15.6.0
16 verbose argv "/usr/local/bin/node" "/usr/local/bin/npm" "start"
17 verbose node v10.0.0
18 verbose npm v5.6.0
19 error file sh
20 error code ELIFECYCLE
21 error errno ENOENT
22 error syscall spawn
23 error renew_react@0.1.0 start:
react-scripts start
23 error spawn ENOENT
24 error Failed at the renew_react@0.1.0 start script.
24 error This is probably not a problem with npm. There is likely additional logging output above.
25 verbose exit [ 1, true ]
关于如何在我的机器上启动响应的任何想法?
【问题讨论】:
备份您的 package-lock.json,将其从目录中删除,然后执行npm install
和 npm start
。如果它有效,那么您的锁定文件可能会很有趣。
您是否使用 create-react-app 设置了您的项目(react-scripts 自带)?可以通过对 create-react-app 进行全局更新来修复
【参考方案1】:
我有过类似的经历,但就我而言,这是我在同一台机器上工作的一个项目。我会关闭电脑,几天后继续,但是当我运行npm start
时,我会收到您遇到的错误。
我就是这样解决的:
导航到我的项目目录rm -rf node_modules
删除节点模块文件夹
rm package-lock.json
npm cache clean --force
npm install
npm start
我又遇到了类似的错误,这次我已经在 git 中上传了我的项目,所以每次我想处理它时,我都会做一个git pull project_url
然后:
- npm install
- npm start
【讨论】:
【参考方案2】:您需要再次手动安装create-react-app
软件包。它会将所有依赖项安装到您的新机器上,包括react-scripts
。
npm install create-react-app
它应该作为全局安装,而不是任何特定项目的一部分。
【讨论】:
以上是关于在反应项目上运行 NPM 启动后出错的主要内容,如果未能解决你的问题,请参考以下文章
在 Angular 项目 Visual Studio 代码上启动前端时出错
在我的反应 js 项目中运行 npm start 时出现白屏