create-react-app + npm start-无法将“ react-scripts”识别为内部或外部命令

时间:2019-03-06 23:40:41

标签: node.js reactjs npm create-react-app

我尝试遵循的类似问题

"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)确保在package.json中列出了带有正确版本号的'react-scripts'

"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

在剪辑项目中使用npm start时没有问题(而失败的项目为clipd2)

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

1 个答案:

答案 0 :(得分:0)

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