ChatGPT解决这个技术问题 Extra ChatGPT

未使用 create-react-app 提供模板

当我在终端中键入 create-react-app my-app 命令时,它似乎可以正常工作 - 成功下载所有库等。在该过程结束时,我收到一条消息,即 template was not provided.

输入

user@users-MacBook-Pro-2 Desktop% create-react-app my-app

输出

Creating a new React app in /Users/user/Desktop/my-app.

Installing packages. This might take a couple of minutes.
Installing react, react-dom, and react-scripts...
..... nothing out of the ordinary here .....
✨  Done in 27.28s.

A template was not provided. This is likely because you're using an outdated version of create-react-app.
Please note that global installs of create-react-app are no longer supported.

my-app 的 package.json 中:

"dependencies": {
  "react": "^16.12.0",
  "react-dom": "^16.12.0",
  "react-scripts": "3.3.0" <-- up-to-date
}

我检查了 CRA changelog,它看起来像是添加了对自定义模板的支持 - 但是它看起来命令 create-react-app my-app 并没有改变。

知道这里发生了什么吗?

有传言说,全球包不再那么热了。尝试'npm init react-app my-app'
同时更新您的安装
谢谢 - 最终工作(使用 Yarn)是用 yarn global upgrade create-react-app 升级 CRA - 然后做 yarn create react-app my-app
我在 Windows 机器上遇到了同样的问题
同样在这里,在 Windows npm uninstall -g create-react-app 上没有解决它。我必须转到文件夹 C:\Users\serge\AppData\Roaming\npm(您的路径会有所不同),并在此文件夹中执行 npm uninstall creat-react-app。之后我安装了 npx create-react-app sample-react --template typescript --use-npm

d
dabo248

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

Docs

使用以下任一命令:

npx 创建反应应用程序我的应用程序

npm init react-app my-app

纱线创建反应应用程序我的应用程序

如果上述 npm uninstall -g create-react-app 不起作用。 输入 which create-react-app 以了解它的安装位置。我的安装在 /usr/bin 文件夹中。然后执行sudo rm -rf /usr/bin/create-react-app。 (归功于下面的@v42 评论)


我认为 npm uninstall -g create-react-app 和 npx create-react-app my-app 会起作用。但不知何故,npx 仍然创建了一个没有模板的项目。 create-react-app 是否以某种方式缓存?我认为不推荐使用全球 cra 安装。在使用 npx 之前,我必须更新 create-react-app -g。
如果在 npm uninstall -g create-react-app 之后仍然出现相同的错误,请在控制台中输入 which create-react-app。如果它返回类似 /usr/local/bin/create-react-app 的内容,则执行 rm -rf /usr/local/bin/create-react-app 手动删除。
恕我直言,这不是一个好方法。为什么我们每次都必须下载和运行东西而不是本地副本?它浪费带宽并且是从互联网上执行随机代码的一种非常好的方法,有一天会被黑客入侵....只需像我一样重新安装它npm install create-react-app -g我的解决方案意味着您最终会再次遇到此错误,但人们应该不从网络上运行任意代码,如果他们选择这样做,应该能够保留在特定版本上......
终于让它适用于打字稿模板 npm uninstall -g create-react-app sudo rm -rf /usr/local/bin/create-react-app npx create-react-app newapp --template typescript
如果这些解决方案不适合您,您可能像我一样通过 yarn 全局安装了该软件包。在这种情况下,使用 yarn global remove create-react-app 将其删除。
R
Robin Wieruch

1)

npm uninstall -g create-react-app

或者

yarn global remove create-react-app

2)

似乎存在一个错误,即未正确卸载 create-react-app 并使用其中一个新命令导致:

没有提供模板。这可能是因为您使用的是过时版本的 create-react-app。

使用 npm uninstall -g create-react-app 卸载它后,检查您是否仍然在命令行上使用 which create-react-app(Windows:where create-react-app)“安装”了它。如果它返回某些内容(例如 /usr/local/bin/create-react-app),则执行 rm -rf /usr/local/bin/create-react-app 手动删除。

3)

然后是以下方法之一:

npx create-react-app my-app
npm init react-app my-app
yarn create react-app my-app

我不得不删除安装文件夹,npm uninstall create-react-app -g 不起作用
echo '#!/bin/sh' > /usr/local/bin/create-react-app $ echo 'echo 使用 yarn create-react-app' > /usr/local/bin/create-react-app $ chmod 0700 /usr/local/bin/create-react-app
在 Windows 上,您可以使用命令 where 而不是 which
K
Kristianmitk

虽然这里已经有很多答案了。当我遇到这种情况时,我想出了 3 个解决方案,并逐步应用这些解决方案。

第一步:从官方手册,

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

https://create-react-app.dev/docs/getting-started

您可以使用以下命令:

npx 创建反应应用程序我的应用程序

npm init react-app my-app

纱线创建反应应用程序我的应用程序

第二步(如果第一步不起作用):

有时它可能会保留缓存。然后您可以使用下面给出的这些命令。

npm 卸载 -g create-react-app

npm 缓存清理 --force

npm 缓存验证

纱线创建反应应用程序我的应用程序

第三步:(如果这两个都行不通)先通过npm uninstall -g create-react-app卸载,然后用which create-react-app检查是否还有“安装” 命令行上的命令。如果您有类似 (/usr/local/bin/create-react-app) 的内容,请运行此 rm -rf /usr/local/bin/create-react-app(文件夹可能有所不同)以手动删除。然后再次通过 npx/npm/yarn 安装它。

注意:我在最后一步成功了。


无论出于何种原因,npxnpm init 都不起作用,但 yarn 在清除缓存后起作用。我还需要 rm -rf create-react-app 文件夹。非常感谢SO。
在 Windows 上(来自 wsl 终端)which create-react-app 显示我需要删除 /mnt/c/Users/myWindowsUser/AppData/Roaming/npm/ 中的 create-react-app* 文件
S
S.S. Anne

首先通过以下命令全局卸载 create-react-app:

npm uninstall -g create-react-app

然后在您的项目目录中:

npm install create-react-app@latest

最后:

npx create-react-app my-app

这个帮我 TY
经过大约 1 年的尝试,终于解决了这个问题。太感谢了
在上面的十几个无用答案之后,只有一个有效,谢谢!
B
Bakhtiiar Muzakparov

要在上面的答案中添加更多内容:

create-react-app 的新版本中,您可以使用自定义模板创建新应用程序。目前可用的两个模板:

cra模板

cra模板打字稿

用法:

npx create-react-app my-app [--template typescript]

create-react-app 中最新更改的更多详细信息:

https://github.com/facebook/create-react-app/releases/tag/v3.3.0


S
S.S. Anne

我也有同样的问题。当我尝试 npm init react-app my-app 命令返回相同的消息

没有提供模板。这可能是因为您使用的是过时版本的 create-react-app。

yarn create react-app my-app 命令工作正常。


S
S.S. Anne

npm install -g create-react-app 在你的电脑中使用 npx create-react-app my-app 再次创建反应项目


不过建议全局卸载 create-react-app。
使用此方法进行新更新时将返回错误
我认为这是首先在全球安装 create-react-app 导致错误的原因
0
0x90

这对我有用。

npm 卸载 -g create-react-app npx create-react-app my-app


D
DevStormUK

首先清除你的 npm 缓存,然后使用 yarn,如下所示:

npm 缓存清理 --force

npm 缓存验证

纱线创建反应应用程序我的应用程序

我希望这有帮助。

编辑

...在我进一步研究此问题后,您可能想尝试以下操作:

npm uninstall -g create-react-app yarn global remove create-react-app which create-react-app - 如果它返回一些东西(例如 /usr/local/bin/create-react-app),然后执行 rm -rf /usr/local/bin/create-react-app 手动删除。 npm cache clean --force npm cache verify npx create-react-app@latest

这些步骤应该删除全局安装的 create-react-app 安装,然后手动删除链接到旧的全局安装的 create-react-app 脚本的旧目录。清除 npm 缓存以确保不使用任何旧的缓存版本的 create-react-app 是个好主意。最后使用 @latest 选项创建一个新的 reactjs 应用,如下所示:npx create-react-app@latest。在使用 npx create-react-app 时没有创建模板的问题上存在很多混淆,如果您按照我上面所述的步骤(1-6)进行操作,那么我希望您能成功。

ps

如果我想在名为 client 的目录中创建一个 react 应用程序,那么我将在终端中键入以下命令:

npx create-react-app@latest ./client

祝你好运。


B
Ben S

所以我已经完成了这里的所有步骤,但没有帮助。

TLDR;运行 npx --ignore-existing create-react-app

我在使用 Mojave 10.15.2 的 Mac 上

CRA 未全局安装 - 在 /usr/local/lib/node_modules/usr/local/bin 中也没有找到它。

然后我在 CRA 的 github 问题上遇到了这个 comment。运行带有 --ignore-existing 标志的命令会有所帮助。


“npx:--ignore-existing 参数已被删除。”但是,到目前为止,没有一个答案能解决这个问题。
我卖掉了我的 Mac 并在新的 Mac 上进行了全新安装......听起来很奇怪......
H
Hammad Hassan

这两个步骤对我有用

1) 使用此命令全局卸载 react-app

npm uninstall -g create-react-app

2)使用此命令在项目文件夹中安装 react-app

npx create-react-app project-name

B
Buk Lau

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

在尝试了所有答案后为我工作,希望将来能对某人有所帮助。


G
Gully Habibi

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

这在 https://create-react-app.dev/docs/getting-started/ 报告。对我来说,这不起作用。我不得不在全球范围内重新安装 create-react-app 。

我解决此问题的步骤是:

npm 卸载 -g create-react-app npm install -g create-react-app npx create-react-app my-app


不建议再使用 create-react-app 的全局安装。
这是真的,但是,如果不进行全局安装,我想不出另一种安装模板的方法。无论如何,这对我的应用程序没有任何影响。
N
N'Bayramberdiyev

在 MacOS 上,所有选项都不适用于我。起作用的是以下三个步骤:

从以下位置删除节点:/usr/local/bin/

然后

新安装节点:https://nodejs.org/en/

然后

安装反应:npx create-react-app my-app 跟随:https://create-react-app.dev/


是的,这是正确的 - 然后检查它是否仍然安装 $ react-create-app --version。如果还有一个版本,您可能需要手动删除它。在我的情况下,它仍然是 ~/.nvm/versions/node//lib/node_modules 所以你必须在那个文件夹中 rm -rf react-create-app
c
coding_Lover

对于 Linux,这对我有用

sudo npm uninstall -g create-react-app
npx create-react-app my-test-app

J
JBallin

TLDR:使用 npm uninstall -g create-react-app 卸载全局包并使用 npx create-react-app app 生成新的 React 应用程序。

问题

您正在使用已使用 npm 全局安装的旧版 create-react-appcreate-react-app 命令调用此全局包。

您可以通过运行 npm outdated -g create-react-app 或将 create-react-app --versionnpm view create-react-app 进行比较来确认您使用的是过时的版本。

react-scripts 的版本是最新的这一事实与引导应用程序 (create-react-app) 的软件包的版本无关,它会抓取它使用的软件包的最新版本 (react-scripts在这种情况下)。

解决方案

如果您想继续使用 create-react-app 命令,您需要使用 npm update -g create-react-app 更新全局包。请注意,您需要定期执行此操作以使其保持最新状态。您会注意到 create-react-app 不建议这样做(在您的安装日志中注明)。

更好的方法是完全删除全局安装 (npm uninstall -g create-react-app),而是使用 npx,以便每次都获取最新版本的软件包(下面的 npx 有更多详细信息)。

您应该通过尝试使用 create-react-app 来确认它已被全局卸载,以确保该命令“未找到”。

卸载问题?

您可以使用 which create-react-app 调试它的安装位置。如果您在卸载它时遇到问题,您的机器上可能有多个版本的 node/npm(来自多次安装,或者因为您使用了节点版本管理器,例如 nvm)。这是一个单独的问题,我不会在这里讨论,但此 answer 中有一些信息。

一种快速的核方法是在 which create-react-app 返回的路径上强行移除它(rm -rf)。

补充

全局 npm 包和 npx 命令

$ NPM_PACKAGE_NAME 将始终使用包的全局安装版本,无论您在哪个目录中。

$ npx NPM_PACKAGE_NAME 将使用从当前目录向上搜索到根目录时找到的第一个版本的软件包:

如果您在当前目录中有包,它将使用它。

否则,如果您将包放在当前目录的父目录中,它将使用它找到的第一个。

否则,如果您已全局安装该软件包,它将使用该软件包。

否则,如果您根本没有该软件包,它会临时安装它,使用它,然后丢弃它。 - 这是确保软件包是最新的最佳方式。

可以在此 answer 中找到有关 npx 的更多信息。

将 npx 与 create-react-app 一起使用

create-react-app 有一些特殊的命令/别名来创建特定于该软件包(yarn create react-appnpm init react-app)的 react 应用程序(而不是 npx),但 npx create-react-app 的工作方式与其他应用程序相同包。

yarn vs npm 全局安装

Yarn 将全局安装存储在与 npm 不同的文件夹中,这就是为什么 yarn create react-app 无需卸载全局 npm 包即可立即工作(就 yarn 而言,该包尚未安装)。

不过,这只是一个临时解决方案,因为您需要记住在使用 Create React App 时始终使用 yarn 而不是 npm。


L
Lahiru Amarathunge

这对我有用!

1) npm uninstall -g create-react-app

2) npm install -g create-react-app

3) npx create-react-app app_name

如果您以前通过 npm install -g create-react-app 全局安装了任何 create-react-app,最好使用 npm uninstall -g create-react-app 卸载它


R
RamPrakash

这解决了我的问题

脚步:

1.卸载create-react应用

npm uninstall -g create-react-app

2.现在只需使用

npx create-react-app my-app

这将自动为 u 创建模板。


L
Luis Meneses

这个问题不是这样解决的,问题出在node的不同实例中,尝试全局删除create-react-app,然后从root用户中删除node_modules和package-lock.json


s
shivlal kumavat

这项工作适合我:

让我们通过以下命令全局卸载 create-react-app:

npm uninstall -g create-react-app

之后在您的项目目录中:

npm install create-react-app@latest

最后:

npx create-react-app my-app

对于打字稿:

npx create-react-app my-app --template typescript

S
Sasmitha Dasanayaka

首先卸载 create-react-app

npm uninstall -g create-react-app

然后运行 yarn create react-app my-appnpx create-react-app my-app

然后运行 yarn create react-app my-appnpx create-react-app my-app 可能仍然会出现错误,

没有提供模板。这可能是因为您使用的 create-react-app 版本过时。请注意,不再支持全局安装 create-react-app。

这可能是由于现金而发生的。所以下一次运行

npm cache clean --force 

然后运行

npm cache verify

现在一切都清楚了。现在运行

yarn create react-app my-appnpx create-react-app my-app

现在你会得到你所期望的!


A
Alireza

我在 Mac 上通过从全局 npm 库中卸载 create-react-app 来解决此问题,这基本上就是所说的,只是尝试做,你还需要做 sudo

sudo npm uninstall -g create-react-app

然后简单地运行:

npx create-react-app my-app-name

现在应该一切都好,并获得如下文件夹结构:

https://i.stack.imgur.com/qdhOb.png


我在 Linux Mint 19(基于 Ubuntu 的系统)上尝试了上述所有这些方法。没有任何帮助,但这确实做到了。 sudo npm uninstall -g create-react-app
K
Karthic Rao

使用命令 npm uninstall -g create-react-app 对我不起作用。

但这有效:

yarn global remove create-react-app

接着:

npx create-react-app my-app


这对我有用,我尝试了所有方法,包括从 /usr/local/bin 手动删除
R
Ryan McCormick

这是一个奇怪的问题,因为昨天这对我有用,今天早上我遇到了同样的错误。根据发行说明,添加了一项新功能以支持模板,因此命令行中的一些部分似乎已更改(例如,不推荐使用 --typescript 以支持使用 --template typescript

通过执行以下操作,我确实设法使这一切正常工作:

卸载全局 create-react-app npm uninstall create-react-app -g。验证 npm 缓存 npm 缓存验证。关闭终端。我使用 mac 终端,如果使用 IDE 可能会关闭并重新打开。重新打开终端,浏览到您想要项目的位置并使用新的模板命令约定通过 npx 运行 create-react-app。为了让它工作,我使用了文档站点中的 typescript my-app 来确保一致性: npx create-react-app my-app --template typescript

如果它有效,您应该会看到多个安装:一个用于 react-scripts,一个用于模板。错误消息也应该不再出现。


A
Andrew

npm uninstall -g create-react-app 在某些情况下可能是一个答案,但不是我的。

您应该手动删除位于 ~/.node/bin//usr/bin/ 的 create-react-app(只需键入 which create-react-app 并将其从您使用 rm -rf 看到的位置删除),然后运行 npm i -g create-react-app

之后 create-react-app 将正常工作。


A
Amila Weerasinghe

这对我有用 1.首先通过以下命令全局卸载 create-react-app:

npm uninstall -g create-react-app

如果您仍然有以前的安装,请完全删除名为我的应用程序的文件夹。(确保没有程序正在使用该文件夹,包括您的终端或 cmd 提示符)

2.然后在你的项目目录中:

npm install create-react-app@latest

3.最后:

npx create-react-app my-app

A
Alex Ertl

对于仍然遇到此问题的任何 Windows 用户,这就是为我解决的问题:

运行 where create-react-app 以获取路径(我的是在 C:\Users\username\AppData\Local\Yarn\bin 中)。导航到该目录并删除“create-react-app”和“create-react-app.cmd”。导航到要在其中启动项目的目录。运行 npm install create-react-app、npx create-react-app name-of-app、cd name-of-app、yarn start。

第 4 步将根据您的配置而有所不同,但这正是我启动并运行的原因。


可以确认。仅删除“create-react-app”并不能修复它,但删除它和“create-react-app.cmd”可以。
c
chandan kumar yadav

最简单的方法之一是使用

npx --ignore-existing create-react-app [project name]

这将删除 create-react-app 的旧缓存版本,然后获取新版本来创建项目。

注意: 添加项目的名称很重要,因为忽略现有的 create-react-app 版本是陈旧的,并且您的机器全局环境中的更改是临时的,因此稍后仅使用 npx create-react-app [project name] 不会提供所需的结果。


H
Helen_CEE

使用此命令后:

yarn global upgrade create-react-app

然后我尝试了:

yarn create-react-app my-app but it didn't work for me.

这虽然有效:

npx create-react-app my-app 

d
dadiaar

对于 Windows 10,我必须手动删除 yarn 缓存中的一些文件夹,我的路径类似于 C:\Users\username\AppData\Local\Yarn\Cache\v1,而我必须删除的文件夹类似于 npm-create-react-app-1.0.0-1234567890abcdef


对于 Windows 7,这也解决了我的问题。一是我删除了 Yarn 缓存并运行了 npm cache clear --force,等我能够运行 npx create react app

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

不定期副业成功案例分享

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

立即订阅