npx create-react-app 提示全局卸载不存在的 create-react-app 包?

npx create-react-app prompting to globally uninstall non-existent create-react-app package?

我在使用涉及全局安装的 npx create-react-app 时遇到问题。我很困惑,因为据我所知,我的机器上没有安装 create-react-app 包。

一些细节:

我开始一个 React 项目(使用打字稿模板),因为我之前和最近在同一台机器上做过很多次:

npx create-react-app --template typescript .

我从终端得到这个提示

Need to install the following packages: create-react-app Ok to proceed? (y)

我按 y 确认可以继续。 (如果我按 n,进程终止并出现以下错误:npm ERR! canceled。)然后终端显示以下消息

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.

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

The latest instructions for creating a new app can be found here:
https://create-react-app.dev/docs/getting-started/

我 运行 两个建议的命令都可以全局卸载 create-react-app。 npm 顺利进行:


npm uninstall -g create-react-app

up to date, audited 1 package in 179ms

found 0 vulnerabilities

全局 yarn 卸载结果显示以下消息:

remove create-react-app
yarn global v1.22.17
warning package.json: No license field
[1/2]   Removing module create-react-app...
error This module isn't specified in a package.json file.
info Visit https://yarnpkg.com/en/docs/cli/global for documentation about this command.

最后我尝试查找我的机器上是否存在 create-react-app which create-react-app 这导致 create-react-app not found.

我不确定还有什么方法可以解决这个问题。

编辑:由 Deepthi 和 Sators 提供的解决方案。我必须使用命令清除存储了旧版本 create-react-app 的 npx 缓存:

npx clear-npx-cache

您可以尝试通过运行:

定位安装的版本
npm ls -g create-react-app

您可能还需要考虑阅读 this post for removing/clearing npx 缓存,方法是:

npx clear-npx-cache

最后,另一种选择是通过 运行 确保您使用的是最新版本的 create-react-app:

npx create-react-app@latest --template typescript .

这里的问题是 npx create-react-app 试图从旧版本 (4.0.3) 安装包,而最新版本是 (5.0.0)。

您可以使用以下命令简单地清除 npx 缓存:

npx clear-npx-cache

然后尝试使用

再次创建 React 应用

npx create-react-app Your_project_name

您可以将 npx 与 @latest 一起使用,以保证您是 运行 create-react-app 以及最新版本:

npx create-react-app@latest Your_project_name

您可以在工作目录中本地安装最新的 React 应用程序模块,方法是:

npm install create-react-app@latest

(除了package.json和package-lock.json之外,还会在安装react应用程序时依赖的工作目录中创建react模块,所以你可以在完成后删除它们下一步)

然后:

npx create-react-app Your_project_name

显然那个版本有问题,我也有同样的问题,但是用命令

npx clear-npx-cache

成功了,那我就 运行

npx create-react-app proyect-name

而且有效!

我认为这与上面的答案相同,但是好吧,你去吧。

遇到这样的事情: " 您是 运行 create-react-app 4.0.3,它落后于最新版本 (5.0.0)。"

解决方案是:

:> npx clear-npx-cache

然后做: :> npx create-react-app your-app

运行 ---> npx clear-npx-cache

 ----> npx create-react-app your-app

运行 npx clear-npx-cache

为什么?

您之前已经尝试过使用 create-react-app 创建一个 React 项目。

所以npx缓存中存在旧版本的create-react-app。 /user/.npm/_npx

npm uninstall -g create-react-app 不适用于这种情况。

如果你 运行 npx clear-npx-cache 它将删除目录 /user/.npm/_npx

中的所有缓存

现在您可以使用 npx create-react-app my_app

创建 React 应用

您正在 运行ning create-react-app 4.0.3,它落后于最新版本 (5.0.0)。

我们不再支持全局安装 Create React App。

请使用以下命令之一删除所有全局安装:

npm uninstall -g create-react-app
yarn global remove create-react-app

可在此处找到有关创建新应用的最新说明: https://create-react-app.dev/docs/getting-started/

是的,它看起来和上面一样。

运行这两个选项中的一些:

npm uninstall -g create-react-app

yarn global remove create-react-app

最后使用 npx 命令 create-react-app 再试一次

在我的例子中,我使用了 npm unistall 中的命令,最后 运行 如果我开始创建 React 项目,命令 npx create-react-app 再次出现。

如果您已尝试上述所有方法但仍未成功。

运行:

npm audit fix --force

然后:

npx create-react-app <app

我遇到了同样的问题,它的发生是因为我使用 nvm 来管理节点版本,而我是 运行 客户端项目的旧节点版本 (12.14.1)。使用节点 v14.x.x 为我解决了这个问题。

尝试 运行宁: npm update

然后运行:npx create-react-app my_app

或者您也可以尝试使用“@latest”:npx create-react-app@latest my_app