我有一个maven项目,其中是JavaScript项目克隆为一个git子模块。所以目录结构看起来像mavenapp/src/main/javascript/[npm项目文件]

在我的包裹里。Json,测试是这样的:

"test": "react-scripts test --env=jsdom",

但是当我尝试运行npm test时,它说

“react-scripts”不被认为是内部或外部命令,

有趣的是,当我独立克隆javascript项目时,我没有得到这个错误。我试着重新运行npm install。

NPM版本:5.5.1 Node.js版本:9.3.0


当前回答

当你运行NPX create-react-app your-app时,React-scripts应该被列为一个依赖项,但出于某种原因,它会得到这个错误。我将列出一些我遵循的步骤,可以帮助您修复这个错误:


首先,检查React包。Json,是否有react-scripts: 例如,你应该看到:

"dependencies": {
    ...
    "react-scripts": "4.0.3",
    ...
  },

如果它已经在那里,现在试着用npm i重新安装你的依赖项


如果你仍然得到同样的错误,尝试用rm -rf node_modules/删除你的node_modules,然后用npm i重新安装你的依赖


但是如果react-scripts包不在你的包中。Json文件,你应该安装你的包管理器像: NPM我反应脚本 然后尝试用NPM start启动你的应用

其他回答

面对同样的问题,虽然我用的是纱线。

下面的方法对我很有效:

yarn install 
yarn start

我卸载了我的Node.js,并显示隐藏文件。 然后,我去了C:\Users\yourpcname\AppData\Roaming\,删除了npm和npm-cache文件夹。 最后,我安装了一个新的Node.js版本。

我已经尝试了网上找到的许多解决这个问题的解决方案,但在我的情况下,除了重新安装NVM for Windows(我正在使用它来管理多个Node版本)之外,其他方法都不起作用。在安装程序中,它会检测已安装的Node版本,并询问用户是否希望NVM控制它们。我说是的,NVM修复了所有的PATH问题。结果,一切都和以前一样。这个问题可能有多种原因,但损坏的PATH肯定是其中之一,(重新)安装NVM修复PATH。

对于便携式应用程序的改变

package.json

如下

"scripts": {

    "start": "node node_modules/react-scripts/bin/react-scripts start",
    "build": "node node_modules/react-scripts/bin/react-scripts build",
    "test": "node node_modules/react-scripts/bin/react-scripts test",
    "eject": "node node_modules/react-scripts/bin/react-scripts eject"
  }

这是不建议的,所以请不要向下箭头,而是为了排除故障..

React-scripts不能被识别为与npm相关的内部或外部命令。

我将更新包中的所有依赖项。如果适用,将Json文件转移到主目录和客户端目录中的最新版本。 您可以通过使用星号“*”而不是在包中指定特定的版本号来做到这一点。Json文件为您的依赖。

例如:

"dependencies": {
    "body-parser": "*",
    "express": "*",
    "mongoose": "*",
    "react": "*",
    "react-dom": "*",
    "react-final-form": "*",
    "react-final-form-listeners": "*",
    "react-mapbox-gl": "*",
    "react-redux": "*",
    "react-responsive-modal": "*",
  }

然后我要确保所有的包都被锁住了。删除Json,然后在主目录和客户端目录下运行NPM install和yarn install(如果适用的话)。

然后,您应该能够运行一个yarn构建,然后使用yarn start运行应用程序。