在反应项目上运行 NPM 启动后出错

Posted

技术标签:

【中文标题】在反应项目上运行 NPM 启动后出错【英文标题】:Error after running NPM start on react project 【发布时间】:2018-10-15 03:13:22 【问题描述】:

我已将项目从以前的机器复制到当前机器。跑完之后 npm installnpm 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 installnpm 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 代码上启动前端时出错

在 Web 平台上使用异步存储运行反应本机项目时出错

在我的反应 js 项目中运行 npm start 时出现白屏

尝试运行 npm start 命令时出错

在 windows10 和 ubuntu 中反应的 NPM 启动错误

npm 错误! cb() 从未调用过!尝试运行 npm install 命令时出错