ChatGPT解决这个技术问题 Extra ChatGPT

'react-scripts' 未被识别为内部或外部命令

我有一个 Maven 项目,其中的 JavaScript 项目被克隆为 git 子模块。所以目录结构看起来像 mavenapp/src/main/javascript/[npm project files]

在我的 package.json 中,测试如下所示:

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

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

'react-scripts' 不被识别为内部或外部命令,

有趣的是,当我独立克隆 javascript 项目时,我没有收到此错误。我已尝试重新运行 npm install

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


d
double-beep

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

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

如果不可用,则通过以下方式手动添加:

npm install react-scripts --save

不要这样做,这可能会导致其他项目出现问题......你不应该像这样全局安装 react-scripts。参考这里:github.com/facebook/create-react-app/issues/…
@RosdiKasim 阅读您的评论后,我意识到我的错误。现在,我已经更改了特定项目的命令,而不是全局(-g)。
对我来说没有任何改变,仍然是同样的错误。运行“npm install react-scripts --save”即使成功也不会在 npm_modules 文件夹中创建任何文件夹 react-scripts。我在Windows10
@RosdiKasim,根据您的评论,您应该关注 Github 上的帖子末尾。我在同样的问题上运行,并通过这样做 stackoverflow.com/a/54403797/8719007 解决了这个问题(下面的答案)
运行 yarn installnpm install 来解决问题,因为这对我来说已经足够了。
H
Hadi Mir

如果 package.json 中存在 react-scripts,则只需键入此命令

npm install

如果 package.json 中不存在 react-scripts,那么您可能还没有安装它。为此,请运行:

npm install react-scripts --save

如果我在 package.json 中有它并安装它,但遇到同样的问题怎么办?
@Serob_b 有时我也有同样的问题,在这种情况下,我只需运行“npm install”就可以解决问题。或者您始终可以通过在终端中键入 rm“-rf node_modules”然后运行“npm install”来删除 node_modules 文件夹。希望这可以帮助
这是完整的答案
还是行不通
d
double-beep

尝试:

rm -rf node_modules && npm install

首先擦除 node_modules 通常会解决很多奇怪的、与包相关的问题,例如 Node.js 中的问题。


是的,我有...没有区别...现在我不得不删除子模块并手动将其粘贴。
嗯,您没有看到您的 npm install 记录的任何错误是吗?尝试运行 npm install -f 并查看是否有任何变化。可能是另一个安装失败并阻止 create-react-app 完全安装的软件包。顺便说一句,强制使用 -f 安装 npm 从来都不是一个完整的解决方案......只是一个故障排除步骤。如果在你运行之后有任何变化,那么你就知道其中一个包有问题。
此外,您可能需要验证您在 javascript/node_modules/.bin/react-scripts 处是否有文件。如果不是,则可能有几个不同的原因,包括权限问题、操作系统对创建符号链接的限制(node_moduels/.bin 中的所有内容都是安装时生成的符号链接。也可能是您没有安装 react-scripts。 .. 尝试运行 npm install --save react-scripts 看看是否有帮助。
从 MacOS 迁移到 Windows(Dropbox 同步了所有 node_modules 文件夹) - 只需删除文件夹并重新安装即可解决
是的——这就是上面的命令所做的。您的症状可能是由于许多软件包对每个操作系统执行有条件的安装过程。 Linux、Mac 和 Windows 与许多基本项目依赖项存在相当多的差异。
c
crispengari

运行这些命令对我有用:

npm cache clean --force
npm rebuild
npm install

npm install => npm rebuild 为我工作。我在“react-scripts”和“next”中遇到了这个错误。这似乎发生在我删除 node_modules 文件夹并稍后返回项目之后。
为我工作,但 npm cache clean --force 不是必需的(节点 v14.17.3,npm 6.14.13)。我确实使用了 npm cache verify。我不确定这是否有效果。
N
Nguyen Duc Thanh

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


这似乎是迄今为止最好的答案。我将代码从 Macbook 迁移到 PC,但无法运行我的 react 项目。 “npm audit fix”立即解决了它。
c
cela

面临同样的问题,虽然我正在使用纱线。

以下对我有用:

yarn install 
yarn start

d
double-beep

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


K
KushalSeth

为避免此问题再次发生,或者每当有人下载您的项目时,您都会遇到此问题。

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

npm install react-scripts --save-dev

它会像这样添加。

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

提交并推送您的代码。


R
Raskul

2022 答案:只需删除 node_modules 文件夹并运行

npm install

或者:

yarn

它对我有用


我只是忘了做这个谢谢
P
Paa Solo

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

运行 npm install 然后运行 npm start

这对我来说很好


H
Hessah

react-scripts 应该在您运行 npx create-react-app your-app 时作为依赖项列出,但由于某种原因,它会出现此错误。我将列出我遵循的一些步骤,这些步骤可能会帮助您修复此错误:

首先,检查你的 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


d
double-beep

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


这真的不是一个解决方案。
r
raghurajj

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


npm audit fix --force 在此页面上尝试了许多解决方案后为我工作。我正在做 wes bos react 课程,甚至无法完成第一个视频并出现此错误。 Windows 10、VS 代码、节点 v14.17.4、npm 7.20.5
A
Ali

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

如果适用,我会将 package.json 文件中的所有依赖项更新到主目录和客户端目录中的最新版本。您可以通过使用星号“*”来执行此操作,而不是在 package.json 文件中为依赖项指定特定版本号。

例如:

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

然后,我将确保删除任何 package-lock.json,然后在主目录和客户端目录中运行 npm install 和 yarn install (如果适用)。

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


这是个坏建议。使用 * 作为您的版本号是有问题的,因为它可能会导致在不同系统上安装不同版本的软件包。使用锁定的版本号并根据需要进行更新
是的,出于生产目的,这里的事情可能完全出错,但只是出于测试目的的想法。
s
smamran

对于便携式应用程序更改

包.json

如下

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

S
Salman

这就是我修复它的方法

检查并更新路径变量(如何更新路径变量见下文) 删除 node_modules 和 package-lock.json 运行 npm install run npm run start

如果这不起作用,请尝试安装 nodejs 并运行修复

或清理 npm 缓存 npm cache clean --force

更新路径变量

按windows键搜索编辑系统环境变量点击环境变量...在系统变量底部(会有两个部分)选择路径变量名点击编辑..检查是否有C:\Program Files\nodejs列表,如果没有添加这个


M
Mubasher Ali

我遇到过同样的问题。我做了这里建议的一切。但没有任何效果。我在我的 node_modules 中安装了 react-scripts 也使用了缓存,但都是徒劳的。然后我只是 npx create-react-app 并将我的所有代码移动到这个新文件夹中并且一切正常。

npx create-react-app myapp


E
Emir Mamashov

第一次运行:

npm ci

然后:

npm start

K
Korotkevich

在修复此问题时,使用具有管理员权限的 git bash 或 windows cmd 运行 npm install,在编辑器的终端中运行这些命令没有帮助。


T
Tomáš Hübelbauer

我已经尝试了许多在线上找到的解决此问题的方法,但在我的情况下,除了重新安装 NVM for Windows(我用来管理多个 Node 版本)之外,没有任何效果。在安装程序中,它会检测已安装的 Node 版本并询问用户是否希望 NVM 控制它们。我说是的,NVM 修复了所有 PATH 问题。结果,事情像以前一样工作。此问题可能有多种原因,但损坏的 PATH 绝对是其中之一,并且(重新)安装 NVM 修复了 PATH。


K
Koder90

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


A
Ace

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


E
Emmanuel Sewah

有类似的问题..我用纱线来修复它。我注意到在我的节点模块中找不到 react-scripts,所以我决定用 npm 下载它,但我似乎也失败了。所以我尝试了纱线(纱线添加反应脚本)并解决了噩梦!希望这对你也有用。调试愉快。


S
Sreesankar G Warrier

对我来说,我只是重新安装了 react-scripts 而不是 react-scripts --save。


i
isherwood

昨天在运行 npm run build 时突然在 Azure DevOps 中开始出现此错误:

'react-scripts' 不是内部或外部命令、可运行程序或批处理文件。

但是,当查看完成的 npm ci 时,它充满了错误,例如:

FetchError:尝试获取 https://registry.npmjs.org/@babel%2fcompat-data 时响应正文无效:ENOENT:没有这样的文件或目录,lstat 'D:\a\1.npm_cacache\content-v2\sha512 \58\0b\dc7dce0b33e86d97736b3c419005951e32af28dda3f5b8c746f16d53d4baed1dc2fd2493e9310f744696008400bf8c91ca84f9fb3ebf541ba93a541b144a'

注释掉缓存时,一切都重新开始工作:

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)它已经工作了一年多,我们使用与 Microsoft 记录的完全相同的代码进行缓存。

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

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

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


C
Chadrack Kyungu

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

npm 审计修复 --force

然后它就起作用了。


A
Adim Victor

就我而言,问题与 react-scripts 软件包安装要写入的某些文件没有足够的文件权限有关。解决它的方法是以管理员身份运行 git bash,然后再次运行 npm install --save react-scripts


C
Christopher Upton

当我使用 React 创建一个新项目时,要安装 React 模块,我必须从新项目 ClientApp 文件夹中运行“npm install”(PowerShell)(例如“C:\Users\Chris\source\repos\HelloWorld2\HelloWorld2\客户端应用程序”)。带有 React 的 .NET 核心 WebApp 需要将 React 文件安装在正确的位置,以便 React 命令正常工作。


M
Muhammad Moiz

这对我有用:

转到 CLI 中的项目文件夹并键入 npm install.Go 如果使用 yarn 等,则执行类似的命令。

如果您使用的是 Npm,则输入 npm start。如果使用纱线等,请执行类似的命令。

文件开始工作


全局安装反应脚本 npm i -g react-scripts

关注公众号,不定期副业成功案例分享
关注公众号

不定期副业成功案例分享

领先一步获取最新的外包任务吗?

立即订阅