【问题标题】:'react-scripts' is not recognized as an internal or external command'react-scripts' 未被识别为内部或外部命令
【发布时间】:2018-06-04 08:29:16
【问题描述】:

我有一个 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

【问题讨论】:

    标签: javascript node.js reactjs maven


    【解决方案1】:

    安装时您的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 V2,或者 Create React-App,你只需要在 yarn start 之前运行 yarn install
    【解决方案2】:

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

    npm install
    

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

    npm install react-scripts --save
    

    【讨论】:

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

    试试:

    rm -rf node_modules && npm install
    

    首先擦除node_modules,通常会修复很多奇怪的、与包相关的问题,例如在 Node 中。

    【讨论】:

    • 是的,我有...没有区别...现在我不得不删除子模块并手动粘贴它。
    • 嗯,您没有看到从您的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 与许多基本项目依赖项存在相当多的差异。
    【解决方案4】:

    运行这些命令对我有用:

    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。我不确定这是否有效果。
    【解决方案5】:

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

    【讨论】:

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

    虽然我使用的是纱线,但也遇到了同样的问题。

    以下内容对我有用:

    yarn install 
    yarn start
    

    【讨论】:

      【解决方案7】:

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

      【讨论】:

        【解决方案8】:

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

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

        npm install react-scripts --save-dev
        

        它会像这样添加。

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

        提交并推送您的代码。

        【讨论】:

          【解决方案9】:

          要解决此问题,请按照以下步骤操作

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

          这对我来说很好用

          【讨论】:

            【解决方案10】:

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

            【讨论】:

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

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

            【讨论】:

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

            对于便携式应用程序更改

            package.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"
              }
            

            【讨论】:

              【解决方案13】:

              我就是这样解决的

              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,如果没有就添加这个

              【讨论】:

                【解决方案14】:
                1. 我卸载了我的 Node.js 并显示了隐藏文件。

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

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

                【讨论】:

                • 这不是一个真正的解决方案。
                【解决方案15】:

                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启动您的应用

                【讨论】:

                  【解决方案16】:

                  第一次运行:

                  npm ci
                  

                  然后:

                  npm start
                  

                  【讨论】:

                    【解决方案17】:

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

                    npx create-react-app myapp

                    【讨论】:

                      【解决方案18】:

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

                      【讨论】:

                        【解决方案19】:

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

                        【讨论】:

                          【解决方案20】:

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

                          【讨论】:

                            【解决方案21】:

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

                            【讨论】:

                              【解决方案22】:

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

                              【讨论】:

                                【解决方案23】:

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

                                【讨论】:

                                  【解决方案24】:

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

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

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

                                  FetchError:尝试获取时响应正文无效 https://registry.npmjs.org/@babel%2fcompat-data: ENOENT: 没有这样的文件 或目录,lstat 'd:\一个\ 1.npm_cacache \内容-V2 \ SHA512 \ 58 \ 0B \ 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),它已经工作了一年多,而且我们使用与 Microsoft 记录的完全相同的代码进行缓存。

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

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

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

                                  【讨论】:

                                    【解决方案25】:

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

                                    【讨论】:

                                      【解决方案26】:

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

                                      【讨论】:

                                        【解决方案27】:

                                        这对我有用:

                                        • 在 CLI 中转到项目文件夹并键入 npm install。如果出现类似的命令,请执行类似的命令 使用纱线等。

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

                                        • 文件开始工作

                                        【讨论】:

                                        • 全局安装 react 脚本 npm i -g react-scripts
                                        猜你喜欢
                                        • 1970-01-01
                                        • 2019-03-20
                                        • 2019-07-28
                                        • 2017-05-15
                                        • 2016-12-22
                                        • 2014-04-29
                                        • 1970-01-01
                                        • 1970-01-01
                                        • 2020-05-11
                                        相关资源
                                        最近更新 更多