create-react-app + npm start - 'react-scripts' 未被识别为内部或外部命令

Posted

技术标签:

【中文标题】create-react-app + npm start - \'react-scripts\' 未被识别为内部或外部命令【英文标题】:create-react-app + npm start - 'react-scripts' is not recognized as an internal or external commandcreate-react-app + npm start - 'react-scripts' 未被识别为内部或外部命令 【发布时间】:2019-07-28 18:09:14 【问题描述】:

我尝试过的类似问题

"npm-run-all" is not recognized as an internal or external command

"'react-scripts' is not recognized as an internal or external command"

我正在尝试通过 create-react-app cli 创建一个 React 项目,但在创建项目后出现错误

'react-scripts' is not recognized as an internal or external command, operable program or batch file" 

当我尝试通过 npm start 启动开发服务器时。

我尝试过的:

1) 确保 Node 和 npm 已安装并且是最新的。从我运行的项目目录(通过powershell)

> npm -v
6.7.0
> node -v
v11.11.0

2) 确保“react-scripts”在 package.json 中列出了正确的版本号

"name": "clipd2",
"version": "0.1.0",
"private": true,
"dependencies": 
    "react": "^16.8.4",
    "react-dom": "^16.8.4",
    "react-scripts": "^2.1.5"
 ,
"scripts": 
    "start": "react-scripts start",
    "build": "react-scripts build",
    "test": "react-scripts test",
    "eject": "react-scripts eject"
  ...

3) 删除 node_modules 文件夹和 package-lock.json 并重新安装 npm 包

rm -r -fo node_modules
rm package-lock.json
npm install
npm install -S react-scripts

安装后,可以在 node_modules 中找到(并填充)react-scripts 目录

4) 确保 npm 在环境 PATH 变量中

> echo $Env:Path
....C:\Users\notMyUsername\AppData\Roaming\npm

我不知道接下来的步骤。奇怪的是,我在同一个父目录中还有另一个 React 应用程序

clipdReact
    clipd
    clipd2

并且在clipd项目中使用npm start时没有问题(而失败的项目是clipd2)

任何建议或提示将不胜感激!

**更新

此错误已提交,但仍处于打开状态 react-scripts is not recognized

您可以使用

启动开发服务器(从您的项目目录)
.\node_modules\.bin\react-scripts start

使用类似于上述命令的命令生成生产版本时要小心 - 我在尝试这样做时遇到了 babel 和 polyfills 的问题。

【问题讨论】:

可能是 ***.com/questions/54525742/… 的副本? "npm-run-all" Is Not Recognized As an Internal or External Command的可能重复 @MattHolland 我不想全局安装 react-scripts,因为这里明确指出 link 这是一个糟糕的解决方案。 npm start 已经是一个已定义的脚本,所以我认为我不需要重新定义它。此外,根据该问题的第二个答案,npm 的路径在我的 PATH 变量中。除非我在这里错过了什么,否则我不相信它是重复的。 @ihunter2839 你解决过这个问题吗? @DanielKotin 我提交了此错误报告react-scripts is not recognized 我使用.\node_modules\.bin\react-scripts start 从项目文件夹启动开发服务器我尝试运行与上述命令类似的命令来生成生产版本并体验虚假babel/transpliers 的错误,并求助于在 linux 机器上构建。祝你好运。 【参考方案1】:

最后对我有用的是将脚本 shell 设置为 powershell。用于重置配置的命令是 npm config set script-shell powershellnpm config delete script-shell。我不确定为什么会这样,我的猜测是,由于node_modules\.bin 中总是有 3 个脚本文件,因此不知何故错误的 shell 被用于错误的脚本或类似的东西。

【讨论】:

以上是关于create-react-app + npm start - 'react-scripts' 未被识别为内部或外部命令的主要内容,如果未能解决你的问题,请参考以下文章

在使用 create-react-app 创建项目时有啥方法可以使用 NPM 而不是 Yarn

create-react-app 中的“npm run build”是啥?

create-react-app-不能使用npm install

react使用create-react-app后npm start报错

react使用create-react-app后npm start报错

没有提供模板。这可能是因为您使用的是过时版本的 create-react-app(NPM 问题)