& # 39; react-scripts& # 39;不能识别为内部或外部命令

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

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

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

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

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

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

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

666174 次浏览

试一试:

rm -rf node_modules && npm install

首先清除node_modules,通常倾向于修复许多奇怪的包相关的问题,比如在Node中。

这是一个关于在安装时你的node_modules/目录中缺少react-scripts文件的错误。

检查你的react-script依赖项在package.json中是否可用。

如果不可用,那么手动添加它:

npm install react-scripts --save
  1. 我卸载了我的Node.js,并显示隐藏文件。

  2. 然后,我去C:\Users\yourpcname\AppData\Roaming\,删除了npmnpm-cache文件夹。

  3. 最后,我安装了一个新版本的Node.js。

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

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运行应用程序。

如果react-scripts出现在package.json中,那么只需键入这个命令

npm install

如果react-scriptspackage.json中不存在,那么你可能还没有安装它。要做到这一点,运行:

npm install react-scripts --save

在我的情况下,我的节点包发生了一些问题。所以我运行npm audit fix,它修复了所有问题

在我的例子中,这个问题与react-scripts包安装将要写入的某些文件没有足够的文件权限有关。解决这个问题的方法是运行Git bash作为管理员,然后再次运行npm install --save react-scripts

当我使用React创建一个新项目时,为了安装React模块,我必须在新项目ClientApp文件夹中运行“npm install”(PowerShell)。“C: \ \用户克里斯\ \回购\ HelloWorld2来源\ HelloWorld2 \ ClientApp”)。带有React的. net核心WebApp需要将React文件安装在正确的位置,以便React命令正常工作。

我已经尝试了网上找到的许多解决这个问题的解决方案,但在我的情况下,除了重新安装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"
}

运行npm update命令解决了我的问题。

这是一个相当老的问题,但这可能对将来的参考有所帮助。删除node_modules文件夹,重新运行npm install。为我工作。

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

下面的方法对我很有效:

yarn install
yarn start

在我的例子中,我在安装了节点v14.0.5的Linux上编辑了我的文件,当我重新启动到安装了节点v14.0.3的Windows时,我得到了同样的错误。所以我更新了windows上的节点版本,一切都很好。

这就是我解决问题的方法

  1. 检查和更新路径变量(关于如何更新路径变量,请参见下面)
  2. 删除node_modules和package-lock.json
  3. 运行npm install
  4. 运行npm run start

如果这没有工作,尝试安装nodejs并运行修复

或者清除npm缓存npm cache clean --force

更新路径变量

  1. 按Windows键
  2. 搜索Edit the system environmental variable
  3. 单击Environment Variables...
  4. 在系统变量底部部分(将有两个部分)
  5. 选择Path变量名
  6. 单击Edit..
  7. 检查列表中是否有C:\Program Files\nodejs,如果没有,添加这个

有类似的问题。我用纱线把它固定住了。 我注意到在我的节点模块中没有找到react-scripts,所以我决定用NPM下载它,但我似乎也失败了。所以我尝试了yarn (yarn add react-scripts),这解决了噩梦!希望这对你也有用。

对于我来说,我只是重新安装了react-scripts而不是react-scripts—保存。

运行这些命令对我有用:

npm cache clean --force
npm rebuild
npm install

这招对我很管用:

  • 进入CLI下的project文件夹,输入npm安装。使用类似的命令if 使用纱线等

  • 如果你正在使用Npm,那么输入npm开始。如果使用yarn,也可以使用类似的命令 等。< / p >

  • 文件开始工作

第一次运行:

npm ci

然后:

npm start

要纠正此问题,请执行以下步骤

  1. 运行npm install
  2. 然后运行npm start

这对我来说很有效

我也遇到过同样的问题。我用npm audit fix --force解决了它

我也有同样的问题。我做了所有建议的事情。但是什么都不管用。我在node_modules中安装了react-scripts,也使用了缓存,但都是徒劳的。然后我用npx create-react-app把我所有的代码都移动到这个新文件夹里,一切都工作了。

npx create-react-app myapp

为了避免这个问题再次发生,或者你面临这个问题,每当有人下载你的项目新鲜。

最好使用以下命令在开发依赖项中添加:

npm install react-scripts --save-dev

它会像这样加起来。

  "devDependencies": {
"react-scripts": "^4.0.3"
}

执行Commit并推送代码。

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


首先,在React package.json中检查是否有react-scripts: 例如,你应该看到:

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

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


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


但是如果包react-scripts不在你的package.json文件中,你应该像这样通过包管理器安装它: npm i react-scripts 然后尝试使用npm start

启动应用程序

昨天运行npm run build时,在Azure DevOps中开始出现这个错误:

“react-scripts”不被视为内部或外部命令、可操作程序或批处理文件。

然而,当查看完成的npm ci时,它充满了如下错误:

FetchError:试图获取时无效的响应体 https://registry.npmjs.org/@babel%2fcompat-data: ENOENT:没有这样的文件 或者目录,lstat “D: \ \ 1. npm_cacache \ content-v2 \ sha512 \ 58 \ 0 b \ dc7dce0b33e86d97736b3c419005951e32af28dda3f5b8c746f16d53d4baed1dc2fd2493e9310f744696008400bf8c91ca84f9fb3ebf541ba93a541b144a”< / p >

当注释掉缓存时,一切又开始工作了:

npm_config_cache: $(Pipeline.Workspace)/.npm


- task: Cache@2
inputs:
key: 'npm | "$(Agent.OS)" | $(clientApp)\package-lock.json'
restoreKeys: |
npm | "$(Agent.OS)"
path: $(npm_config_cache)
displayName: Cache npm

奇怪的是,直到昨天(2021-12-02),它已经工作了一年多,我们使用与微软记录的完全相同的代码进行缓存。

https://learn.microsoft.com/en-us/azure/devops/pipelines/release/caching?view=azure-devops#nodejsnpm

注意Azure DevOps状态已降级或不健康

https://status.dev.azure.com/

在修复此问题时,使用具有管理员权限的Git bash或Windows CMD来运行npm安装,在编辑器的终端中运行这些命令没有帮助。

2022答案:简单地删除node_modules文件夹并运行

npm install

或者:

yarn

这对我很有效

至于我,我设法解决这个问题安装这个:

NPM审计修复——强制

在那之后就可以了。

我也有同样的问题,我尝试了上面的事情,但这在某种程度上不起作用。所以, 我只是输入了