运行npm start创建React应用时缺少脚本

24

我试图通过运行npm start来运行React服务器。

但是当我这样做时,我会收到一个缺少脚本的错误:

λ npm start
npm ERR! missing script: start

npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\Aristophanes\AppData\Roaming\npm-cache\_logs\2019-05-15T11_34_47_404Z-debug.log

完整的错误日志:

0 info it worked if it ends with ok
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   'start' ]
2 info using npm@6.4.1
3 info using node@v11.1.0
4 verbose stack Error: missing script: start
4 verbose stack     at run (C:\Program Files\nodejs\node_modules\npm\lib\run-script.js:155:19)
4 verbose stack     at C:\Program Files\nodejs\node_modules\npm\lib\run-script.js:63:5
4 verbose stack     at C:\Program Files\nodejs\node_modules\npm\node_modules\read-package-json\read-json.js:115:5
4 verbose stack     at C:\Program Files\nodejs\node_modules\npm\node_modules\read-package-json\read-json.js:418:5
4 verbose stack     at checkBinReferences_ (C:\Program Files\nodejs\node_modules\npm\node_modules\read-package-json\read-json.js:373:45)
4 verbose stack     at final (C:\Program Files\nodejs\node_modules\npm\node_modules\read-package-json\read-json.js:416:3)
4 verbose stack     at then (C:\Program Files\nodejs\node_modules\npm\node_modules\read-package-json\read-json.js:160:5)
4 verbose stack     at ReadFileContext.<anonymous> (C:\Program Files\nodejs\node_modules\npm\node_modules\read-package-json\read-json.js:332:20)
4 verbose stack     at ReadFileContext.callback (C:\Program Files\nodejs\node_modules\npm\node_modules\graceful-fs\graceful-fs.js:78:16)
4 verbose stack     at FSReqCallback.readFileAfterOpen [as oncomplete] (fs.js:242:13)
5 verbose cwd C:\Users\Aristophanes\eth-todo-list-react
6 verbose Windows_NT 10.0.17134
7 verbose argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "start"
8 verbose node v11.1.0
9 verbose npm  v6.4.1
10 error missing script: start
11个回答

22

全局安装 create-react-app 不再被支持。

卸载它:

npm uninstall -g create-react-app

现在安装它:

npm install create-react-app

现在创建你的应用:

npx create-react-app 你的应用名称


它起作用了。但为什么我们不应该全局安装? - Gobind

10
create-react-app 的全局安装现在不再建议使用。相反,您可以通过以下方式卸载全局安装的 create-react-app 包:npm uninstall -g create-react-app(如果出现权限相关错误,则可能需要以 sudo 身份运行或手动删除包文件夹,有些用户报告他们必须手动删除文件夹)。
然后您可以运行npx create-react-app my-app再次创建React应用程序。
npx 可用于 npm 版本 >= 5.2
参考: https://github.com/facebook/create-react-app/issues/8086

8

更新 create-react-app 包以解决此问题。

要更新相关的包,请运行以下命令:npm install -g create-react-app


5

针对Windows系统

我试过使用npm uninstall -g create-react-app,但没有成功。

我尝试了以下步骤,成功了:

  1. 管理员权限打开cmd提示符(或Git Bash):where create-react-app,该路径在yarn的系统文件夹中。按照该路径找到并删除这两个文件。
  2. 进入你想放置该项目的工作目录,在我的情况下是Documents\Projects目录下的一个文件夹。 运行 npx create-react-app my-test-app

这将创建一个名为my-test-app的新文件夹,你可以按照react应用程序网站上的其余说明进行操作。

cd进入该新文件夹,然后运行

yarn start


正是我所需要的。谢谢。 - Brandon Brown

2
这个问题已经造成了很多困扰,而且仍然在制造麻烦。

https://github.com/facebook/create-react-app/issues/8308
https://github.com/facebook/create-react-app/issues/8086

基本上这个建议是正确的,也许你有一个旧版本的某些东西,首先尝试删除全局的 create-react-app
npm uninstall -g create-react-app

然后尝试更新npm和所有的包。
npm install -g npm@latest

然后,您可以再次运行create-react-app。
npx create-react-app my-app

这解决了我的问题。

2

检查package.json文件中脚本的名称,它们可能与启动时的名称不同。例如,这部分内容:

Original Answer翻译成:"最初的回答"

"scripts": {
  "build": "cd packages/react-scripts && node bin/react-scripts.js build",
  "start": "cd packages/react-scripts && node bin/react-scripts.js start",
},

此外,尝试使用pwd打印您的工作目录,并检查当前目录是否正确,然后再次运行npm run start。"最初的回答"

我正在工作的目录中,package.json 文件中唯一的几行是:{ "name": "eth-todo-list-react", "version": "0.1.0", "private": true } - Aristophanes
Create React App 会在项目根目录下创建一个 package.json 文件。你可能正在查看不同的 package.json 文件?例如,可以在这里查看 scripts 对象应包含的示例:https://github.com/facebook/create-react-app/blob/master/package.json - Robert Anderson
你可能需要重新安装 create-react-app 吗?比如运行 npx create-react-app my-app 然后进入 my-app 目录,执行 npm start - Robert Anderson
当我这样做时,它只会显示“0.063秒内已更新”。 - Aristophanes
如果我再次安装create-react-app,我只会得到另一堆错误。 package.json仍然完全相同。你知道吗,算了吧。我感谢你的帮助,但整个过程太让人沮丧了,我再也无法去理会它。几秒钟的进展被数小时的尝试修复无尽的错误所阻碍。 - Aristophanes
显示剩余4条评论

1

万一需要。根据文档:

如果您之前通过 npm install -g create-react-app 全局安装了 create-react-app,我们建议您使用 npm uninstall -g create-react-app 卸载该软件包,以确保 npx 始终使用最新版本。


1
我曾遇到这个问题,并通过使用npm uninstall -g create-react-app命令删除create-react-app解决了它。这确保了npx始终使用最新的create-react-app版本。

0

在我的情况下,我卸载了所有东西并重新安装了它

npm uninstall -g create-react-app

npm install create-react-app

npx create-react-app yout-app-name

然后安装MUI库(在我的情况下:D)

npm install @mui/material @emotion/react @emotion/styled

0
我发现我的问题非常简单:
我打开了React项目的父文件夹,而不是包含/src和/public的子文件夹。
一旦我打开了这个文件夹,脚本就开始正常运行了。

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