create-react-app 自版本 4.0.1 起无法正常工作

Posted

技术标签:

【中文标题】create-react-app 自版本 4.0.1 起无法正常工作【英文标题】:create-react-app is not working since version 4.0.1 【发布时间】:2021-12-29 18:37:26 【问题描述】:

我尝试使用npm i create-react-appnpx create-react-app new-appnpm init react-app new-app 安装create-react-app,但我不断收到此错误消息:

You are running create-react-app 4.0.0, which is behind the latest release (4.0.1).
We no longer support global installation of Create React App.

我该如何解决这个问题?

【问题讨论】:

您之前是否全局安装过? 确保 node 和 npm Node >= 8.10 和 npm >= 5.6 的版本 我遇到了同样的问题。我正在运行节点 14.8 和 npm 6.14.8 所以@RamyRagab 这似乎不能解决问题 清除缓存是我的解决方案 【参考方案1】:

这对我有用:

npx create-react-app@latest your-project-name --use-npm

【讨论】:

@CarlosEscobar npx 用于执行 npm 包...如果 npx 不应该是 npm,并且它已经使用 npm,那么使用 --use-npm 有什么意义? 您不需要 --use-mpn 标志。但这是正确的做法。至少,这是一个有效的方法 @GilbertoAlbino npx 可以使用 yarn(如果已安装),如果包创建者已将其配置为这样做。 @ΛRYΛN 是的,这就是它如此丑陋的原因!如果你使用 npm 安装所有东西,为什么我要记住我没有使用 yarn 的 npx?如果您认为 npx 是与 NPM 一起安装的,那根本没有意义 :( 这对我有用!知道为什么使用npm uninstall -g create-react-app 进行全局删除对我不起作用吗?我想知道我在哪里安装了一个隐藏的react-app,导致了这么多麻烦。【参考方案2】:

所有现有答案都不正确。

According to the create-react-app docs、create-react-app 应该全局安装:

如果您之前通过npm install -g create-react-app 全局安装了create-react-app,我们建议您使用npm uninstall -g create-react-appyarn global remove create-react-app 卸载该软件包,以确保npx 始终使用最新版本。

这甚至在您收到的错误消息中都有说明:

您正在运行 create-react-app 4.0.0,它落后于最新版本 (4.0.1)。 我们不再支持全局安装 Create React App。

(强调我的)


您必须使用npm uninstall -g create-react-app 卸载create-react-app

然后每次你想用create-react-app创建一个新的React应用,使用命令npx create-react-app my-app

因此,要修复您遇到的错误,请全局卸载 create-react-app,更新 npm,清除缓存,然后重试创建应用。

在终端中运行:

npm uninstall -g create-react-app && npm i -g npm@latest && npm cache clean -f && npx create-react-app my-app

【讨论】:

我没有在全球范围内安装它,我收到了这条消息 @Sean256 嗨,尝试使用 npm i -g npm@latest 更新 npm,然后在 MacOS/Linux 上使用 nvm 或在 Windows 上使用 nvmw 更新 Node.js,然后重试 按照@ΛryΛn 的建议运行npm i -g npm@latest 对我有用! NPM 一如既往的垃圾。谢谢! For me npm uninstall -g create-react-app && npm i -g npm@latest && sudo npm cache clean -f 解决了获取错误信息的问题【参考方案3】:

他们发布 v4.0.2 后我也遇到了这个问题。

他们提到了这一点:

如果您之前通过npm install -g create-react-app 全局安装了create-react-app,我们建议您使用npm uninstall -g create-react-appyarn global remove create-react-app 卸载该软件包,以确保npx 始终使用最新版本。

我按照以下步骤解决了这个问题:

    卸载create-react-appv4.0.1:

    # for npm:
    npm uninstall -g create-react-app
    
    # for yarn:
    yarn global remove create-react-app
    

    您不需要在本地目录中安装 create-react-app,因此如果您不想这样做,请转到步骤 3。如果要这样做,请安装 v4.0.2 不使用 使用以下命令使用全局标志(-g--global):

    # for npm:
    npm i create-react-app
    
    # for yarn:
    yarn add create-react-app
    

    您现在可以使用以下命令创建一个新的 React 应用:

    # for npx:
    npx create-react-app my-app
    
    # for npm:
    npm init react-app my-app
    
    # for yarn:
    yarn create react-app my-app
    

【讨论】:

这行得通....重要的是要注意,如果您出于不同的原因同时使用 npm 和 yarn,您可能会遇到尝试使用错误的包管理器卸载 create-react-app 的情况(不是您安装它的那个)。在这种情况下,尝试 npm 和 yarn uninstall 命令....其中一个应该可以工作【参考方案4】:

我也面临同样的问题,但是当我全局卸载 create-react-app 然后再次全局安装时问题得到解决。

卸载命令:

npm uninstall -g create-react-app

安装命令:

npx create-react-app my-app

如果您有较旧的 npm 版本(npm 版本

npm install -g create-react-app

它解决了我的问题,我希望它能解决你的问题

【讨论】:

这个答案不正确:create-react-app should not be installed globally 兄弟,它对我有用,我按照我在那里提到的相同方式做到了 @co_ssm 它可能会起作用,但是不再支持全局安装create-react-app,这会在以后的项目中给您带来一些问题。您应该使用npx create-react-app my-app 创建一个新应用程序,查看我的答案以获取更多信息 @ΛRYΛN 谢谢,我浏览了文档,我发现你是正确的,但是这个 npm install -g create-react-app 对于那些使用旧版本 npm 的人来说是正确的【参考方案5】:

我明白了

You are running `create-react-app` 4.0.3, which is behind the latest release (5.0.0).

We no longer support global installation of Create React App.

所以我只是简单地用一个明确的版本来调用这个包:

npx create-react-app@5.0.0 app-name

【讨论】:

如果有人在全局卸载它并清理缓存后仍然面临该问题,请尝试运行npm uninstall create-react-app,因为您可能有非全局安装。【参考方案6】:

通过 npm 全局卸载 create-react-app 并在没有全局标志的情况下重新安装对我不起作用。

npm uninstall -g create-react-app
npm install create-react-app

我使用的是节点版本 15.2.0。我通过 nvm 升级到了最新的稳定节点版本 15.3.0。

nvm install node

然后我再次安装了 create-react-app(没有全局标志)。

npm install create-react-app

然后我能够成功创建一个新的 react 应用程序。

npx create-react-app my-app

编辑:以上将 create-react-app 安装到您的当前目录。需要明确的是,在全局卸载 create-react-app 后,我不再能够通过 npx 创建应用程序并收到相同的原始错误消息。到目前为止,我发现的最佳解决方案是运行 npm install -g npm@latest,它将我的 npm 版本从 7.0.14 dev build 降级到 6.14.9 LTS build,并允许我通过 npx 创建 react 应用程序而不会出现问题。

【讨论】:

npm install create-react-app 在 npm 项目之外不会做任何事情。只需运行 npx create-react-app my-app 就会创建一个新的 React 应用程序。 @ΛRYΛN 在全局卸载后运行“npx create-react-app my-app”会引发与原始帖子相同的错误。这没有用。安装没有全局标志的 create-react-app 将它安装到我的当前目录中,这允许我创建一个新的 react 应用程序,但你是对的,也许这不是最好的方法。我找到了一种更好的方法并更新了我上面的帖子,但我仍在试图弄清楚如果不是全局安装 create-react-app 的确切位置。我在任何预期位置都看不到它,主要是 /Users/username/.nvm/versions/node/v15.3.0/lib/node_modules/npm/node_modules。 降级是唯一对我有用的东西【参考方案7】:

我已经安装了 nvm,并且在使用命令 npx create-react-app my-app 时;我收到了这个错误:

You are running `create-react-app` 4.0.1, which is behind the latest release (4.0.2).

We no longer support global installation of Create React App.

Please remove any global installs with one of the following commands:
- npm uninstall -g create-react-app
- yarn global remove create-react-app

我确认我的 nvm 全局目录中没有全局安装 create-react-app。

我通过指定包的版本解决了问题

npx create-react-app@4.0.2 my-app

【讨论】:

我遇到了同样的问题,查看了我的~/.npm/_npx 并找到了 4.0.1 的目录,在提供版本并创建我的 react 应用程序时,npx 也创建了 4.0.2。我想知道这是否是 npx 无法清理它的缓存或只是被混淆的问题?!​​【参考方案8】:

更新 NPX 对我有用。此页面上的建议没有起到作用,但可能有所帮助。

npm update npx

【讨论】:

这是唯一对我有用的东西!令人惊讶的是,只需更新/重新安装软件包就可以解决多少错误。【参考方案9】:

对我有用的是:

npm uninstall -g create-react-app 

然后:

npm i create-react-app # or yarn add create-react-app

我还更新了 Node 版本。

【讨论】:

我在 cmd 行中实际写的是“npm add create-react-app”,我没有收到任何错误,我的问题也解决了,所以可能有很多方法。 这个答案不正确:create-react-app should not be installed globally【参考方案10】:

对我来说,这是我的 npm 版本的问题。所以我这样做了:

npm install npm@latest -g

现在npx create-react-app app_name 有效。

【讨论】:

【参考方案11】:

我必须使用 n 降级到最新的稳定版本的 node 才能使其正常工作。

sudo n stable

为了说明清楚,我从来没有全局安装过,只​​是升级node后出现这个问题。

【讨论】:

【参考方案12】:

对我来说,即使 create-react-app 安装在父目录中,而不是全局安装,我也遇到了同样的错误。所以我在没有-g 标志的情况下运行了npm uninstall create-react-app,它成功了。

【讨论】:

@我们可以使用这种方法吗?我是初学者,不太确定这是否会在未来引起任何问题? 首先,当你卸载一个包时,你总是可以通过重新安装来撤销你所做的。您可以通过在删除软件包的目录的根目录中运行来执行此操作 - npm install create-react-app 或者如果您想重新安装特定版本 npm install create-react-app@1.2.0。但我认为您不需要这样做,因为据我了解,这个想法是使用 npx,据我了解,它不会下载任何包,而是使用托管在 npm 注册表上的包。所以你完全不需要电脑上的create-react-app包来使用这个包。 当你运行 npx create-react-app new-app 时,你是在说“嘿 npm 服务器,请使用你服务器上的 create react 包来帮助我创建一个 react 应用程序。”【参考方案13】:

create-react-app > 4.0.1 之后使用这些命令

npm

npm init react-app my-app

纱线

yarn create react-app my-app

Getting Started | Create React App Docs

【讨论】:

【参考方案14】:
 npm uninstall -g create-react-app

虽然卸载命令运行成功,但无法卸载create-react-app,所以我一次又一次地遇到同样的错误

这终于对我有用了npx create-react-app@latest my-app --template typescript

【讨论】:

【参考方案15】:

这个错误有两种不同的原因:

    你已经全局安装了 create-react-app。使用此命令确定您是否这样做:npm list -g --depth 0。如果是这样,请按照错误消息中的说明进行全局卸载。

    您正在使用节点 v15.0.0+。使用 NVM 切换到 LTS nvm use --lts,然后运行 ​​create-react-app。之后,您可以切换到 v15.0.0+ 并继续工作。 (如果您没有安装 NVM,可以通过以下方式安装它:https://github.com/nvm-sh/nvm)

【讨论】:

#2 为我工作。我知道我从来没有在全球范围内安装过create-react-app,并且对所有假设用户确实在全球范围内安装它的帖子和文档感到困惑。谢谢! 我没有全局安装它,我使用的是节点14.15.4,所以还有另一个原因。我还没有弄清楚。【参考方案16】:

在 Windows 上使用 Git Bash 我今天遇到了同样的问题

npx create-react-app appname 

在我卸载全局安装后甚至没有工作

npm uninstall -g create-react-app

为我解决问题的方法是使用以下命令清理 npm 缓存

npm cache clean -f

【讨论】:

【参考方案17】:

使用这个:

npm install create-react-app

【讨论】:

npm install create-react-app 在 npm 项目之外不会做任何事情。只需运行 npx create-react-app my-app 将创建一个新的 React 应用程序。【参考方案18】:

我今天自己遇到了这个问题,我的根本原因可能非常罕见,但也许它会对其他人有所帮助。

我在.npmrc 中定义了一个 npm 注册表,我的工作需要我们使用它。原来我的工作镜像没有4.0.1create-react-app 中的某些东西必须打电话回家并运行版本检查。

如果您定义了注册表,请运行 npm view create-react-app 以检查最新版本。

【讨论】:

【参考方案19】:

解决方案-1:永久的解决方案是卸载 node.jsNPM 并重新安装。

解决方案-2:以管理员身份运行 PowerShell 并运行命令。这不起作用

npm uninstall -g create-react-app
npm install -g create-react-app
//OR
npx create-react-app my-app

解决方案-3:使用以下命令更新您的节点包管理器。

npm install -g npm@latest
npx create-react-app my-app

享受

【讨论】:

【参考方案20】:

我没有任何全局 create-react-app 我只是做了npm uninstall -g create-react-app 然后我做了npm install create-react-app

【讨论】:

【参考方案21】:

我遇到了同样的问题,但错误并没有应有的解释。我通过更新 npx 本身来修复它。

请在终端输入npm update npx来解决问题。

之后你可以输入npx create-react-app "your preferred project name"来创建你的react项目。

【讨论】:

【参考方案22】:

在稍微探索了 Github 问题后,我找到了一个已发布的解决此问题的方法,不需要降级 node 或 npm。

我在 WSL2 上使用 Ubuntu,因此请注意位置可能会有所不同。问题来自于 npm 缓存了带有 npx 的 create-react-app 的全局安装,它是 v4.0.0,当您使用 npm view create-react-app 时不会显示。

如果您找到对我来说位于 ~/.npm/_npx/ 文件夹中的 npm 缓存,您将在您之前使用过 npx 的所有全局安装中找到具有哈希名称的文件夹。

如果您查看它们中的每一个,例如使用 cat [hash]/package.json 并记下任何包含 create-react-app 的哈希。现在继续手动编辑 package.json 文件以将 create-react-app 的版本提升到 4.0.1 - 然后使用 rm -rf [hash]/node_modules/create-react-app 将其从节点模块中删除。

在此之后,如果您返回并尝试运行 npx create-react-app my-app,它将提示您正常安装“create-react-app”并且应该可以正常工作,现在 npx 将缓存正确版本的“create- react-app' 所以你也不会再遇到这个问题了。你可以使用你喜欢的任何版本的 node 和 npm。

如果您使用的是 Windows 或 Mac,您必须弄清楚缓存的位置,我不知道 - 但其余步骤应该是相同的。

【讨论】:

【参考方案23】:

这对我有用

npm uninstall -g create-react-app

然后

npm install -g create-react-app

【讨论】:

你没有全局安装。阅读答案***.com/a/65043610/4826457 它也对我有用,但老实说,我不知道为什么它会起作用,因为我又在全球范围内安装了它【参考方案24】:

我卸载了 node.js 并使用 Windows 安装程序重新安装了它。现在 npx create-react-app 命令就像一个魅力。

【讨论】:

【参考方案25】:

我通过以下方式解决了这个问题:

    使用 home-brew 通过终端卸载节点。

    确保使用以下命令进行深度清理:

     brew uninstall node; 
     brew cleanup;
     brew uninstall --force node
    

    转到node.js download link 并下载稳定版 包并安装它。它现在应该可以工作了。

【讨论】:

谢谢,这是 IMO 的最佳答案。我还做了一个“brew search node”,然后 node@14 显示为 brew 中的最新稳定版本。那么“brew install node@14”就成功了。可能还需要更新路径,但如果需要,brew 会明确说明:export PATH="/usr/local/opt/node@14/bin:$PATH"。然后一切都按预期工作。 我强烈建议安装 NVM,因为解决方案就像切换到 LTS、运行 create-react-app 然后切换回您之前使用的节点版本一样简单。【参考方案26】:

一个简单的解决方案是以管理员身份启动 CMD 并运行常用命令:

npx create-react-app myapp

【讨论】:

【参考方案27】:

只需更新节点即可为我解决此问题

【讨论】:

有更详细的答案可以回答这个问题,因此这个答案应该是评论。 没有足够的声誉将其添加为评论【参考方案28】:

经过一段时间尝试解决此问题后,问题出现在 Yarn 中。你必须运行这些脚本来解决这个问题:

npm uninstall -g create-react-app

npm i -g yarn

npx create-react-app my-app

【讨论】:

【参考方案29】:

这对我有用。

我尝试了上一个答案中列出的命令。我一一运行它们,而不是将它们作为链接命令运行,以防它们中的任何一个失败。但我得到了 create-react-app 命令,但它失败了。

npm uninstall -g create-react-app && npm i -g npm@latest && npm cache clean -f && npx create-react-app my-app

我不知道为什么,但是即使在我更新了 npm 并全局卸载并清除了缓存之后,它也无法运行,直到我运行

npm i create-react-app

注意:我安装了没有 -g 标志的 create-react-app。因为正如此线程中的其他人所指出的,不再建议全局安装 create-react-app。尽管其他答案更好,但如果有人回答了这个答案,那可能是另一件需要注意和尝试的事情。

【讨论】:

【参考方案30】:

我也从 yarn 全局卸载了 create-react-app

npm uninstall create-react-app -g

以及重新安装的 create-react-app

npm i create-react-app

或者另一种方式是:

npm create-react-app@latest my-app
npm create-react-app@4.0.2 my-app

【讨论】:

以上是关于create-react-app 自版本 4.0.1 起无法正常工作的主要内容,如果未能解决你的问题,请参考以下文章

create-react-app 落后于最新版本

使用 typescript 模板将 create-react-app 更新到 4.0 时出错

使用 create-react-app 创建自定义绝对路径

不用导入 React 就可以使用 JSX

“npx create-react-app appname”不起作用

如何在 create-react-app 中自定义 blueprintjs 外观