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


297

当我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.

在的package.json中my-app

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

我检查了CRA 更改日志,看起来好像增加了对自定义模板的支持-但是看起来命令create-react-app my-app似乎没有更改。

知道这里发生了什么吗?


7
有传言说,全球性包装已经不再那么热门了。尝试“NPM初始化反应,我的应用程序,应用程序”
蒂姆·威尔逊

12
同时更新您的安装
Tim Wilson

11
谢谢-最终工作(使用Yarn)的工作是使用以下方法升级CRA:yarn global upgrade create-react-app-然后进行操作yarn create react-app my-app
-SamYoungNY

我在Windows机器上遇到了同样的问题
Max Carroll

当这里的所有建议都失败时,对我有用的是locate create-react-app删除create-react-app名称中所有的目录。直到那时,npx create-react-app终于为我再次正常工作。
Kai Carver

Answers:


353

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

文件

使用以下命令之一:

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

20
我认为npm卸载-g create-react-app和npx create-react-app my-app可以工作。但是npx仍然会在没有模板的情况下创建一个项目。是否以某种方式缓存了create-react-app?我以为拥有全球性cra安装会被弃用。在使用npx之前,我不得不更新create-react-app -g。
罗宾·维鲁克

124
如果之后仍然存在相同的错误npm uninstall -g create-react-app,请which create-react-app在控制台中输入。如果返回类似的信息/usr/local/bin/create-react-app,请执行rm -rf /usr/local/bin/create-react-app手动删除。
v42

12
恕我直言,这不是一个好方法。为什么我们每次都必须下载并运行内容而不是拥有本地副本?它浪费了带宽,是一种很好的方法,可以从互联网执行随机代码,有一天会被黑客入侵....就像我做npm install create-react-app -g我的解决方案一样重新安装它,您最终将再次遇到此错误,但是人们应该从此运行任意代码腹板和应该能够留在一个特定的版本,如果他们选择这样....
罗德里戈·格拉萨·

6
终于使它适用于打字稿模板 npm uninstall -g create-react-app sudo rm -rf /usr/local/bin/create-react-app npx create-react-app newapp --template typescript
Cyber​​Prodigy

2
使用它npm list -g --depth=0来查看是否已安装的节点程序包中列出了create-react-app。如果是,请运行npm uninstall -g create-react-app以进行卸载。
克洛德·德·尚比亚

59

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),请执行a 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

5
我不得不删除安装文件夹,npm uninstall create-react-app -g无法正常工作
artfulbeest

2
$ echo'#!/ bin / sh'> / usr / local / bin / create-react-app $ echo'echo use yarn create-react-app代替'> / usr / local / bin / create-react-app $ chmod 0700 / usr / local / bin / create-react-app
Jason FB

1
在Windows上,您可以使用命令where代替which
Vinicius

41

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


第一步:从官方手册中,

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

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

您可以在下面使用这些命令:

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

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

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

  • npm uninstall -g create-react-app
  • npm cache clean --force
  • npm cache verify
  • yarn create react-app my-app

第三步:(如果这2个都不起作用)首先通过进行卸载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安装它。

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


2
这对我有用。谢谢。
Promise Preston

这在MacOS上对我有用。
猎人

出于某种原因,npxnpm init没有任何效果,但是yarn在清除缓存后还是做了。我也需要rm -rfcreate-react-app文件夹。非常感谢。
ZebGir

28

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

npm uninstall -g create-react-app

然后在您的项目目录中:

npm install create-react-app@latest

最后:

npx create-react-app my-app

这一个可以帮助我TY
的Smaine


17

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

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

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


17

这对我有用。

  1. npm uninstall -g create-react-app
  2. npx create-react-app my-app


12

这两个步骤对我有用

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

npm uninstall -g create-react-app

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

npx create-react-app project-name

10

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

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

我要解决此问题的步骤是:

  1. npm卸载-g create-react-app
  2. npm install -g create-react-app
  3. npx create-react-app我的应用

1
不建议再使用全局安装的create-react-app。
罗宾·威勒克

4
这是事实,但是,如果不进行全局安装,我无法找到另一种安装模板的方法。无论如何,这对我的应用程序没有任何影响。
Gully Habibi,

6
是的,医生说的同样没有用
Corey Gibson

10

首先清除npm缓存,然后按以下方式使用yarn:

  • npm cache clean --force
  • npm cache verify
  • yarn create react-app my-app

我希望这有帮助。

编辑

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

  1. npm uninstall -g create-react-app
  2. yarn global remove create-react-app
  3. which create-react-app -如果返回的内容(例如/ usr / local / bin / create-react-app),请执行rm -rf / usr / local / bin / create-react-app手动删除。
  4. npm cache clean --force
  5. npm cache verify
  6. npx create-react-app@latest

这些步骤应删除全局安装的create-react-app安装,然后手动删除链接到旧的全局安装的create-react-app脚本的旧目录。因此,最好清除npm缓存,以确保您不使用create-react-app的任何旧缓存版本。最后,创建与新reactjs的应用程序@latest,像这样的选择:npx create-react-app@latest。在使用npx create-react-app时不创建任何模板的问题上,存在很多困惑,如果您按照我上面的步骤(1-6)进行操作,那么我希望您会成功。

ps

如果我想在名为client的目录中创建一个react应用,则可以在终端中输入以下命令:

npx creacte-react-app@latest ./client

祝好运。


9

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

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

然后

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

然后

  1. 安装react: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
Nelles

9

因此,我已经完成了所有步骤,但没有帮助。

TLDR;跑npx --ignore-existing create-react-app

我在Mac上 Mojave 10.15.2

CRA不是全球的装机量-在没有找到它/usr/local/lib/node_modules/usr/local/bin任何。

然后我遇到了关于CRA的github问题的评论。使用--ignore-existing标志运行命令很有帮助。


8

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

在尝试了所有答案后为我工作,希望可以对以后的人有所帮助。


7

对于Linux,这对我有用

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

7

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


问题

您使用的是create-react-app使用npm在全球安装的旧版本。该create-react-app命令调用此全局程序包。

通过运行npm outdated -g create-react-app或与进行比较create-react-app --version,可以确认您使用的版本过旧npm 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)。这是一个单独的问题,我不会在这里解决,但是此答案中有一些信息。

一种快速的核方法是rm -rfwhich create-react-app返回的路径上将其()强制删除。


补充

全局npm软件包和npx命令

$ NPM_PACKAGE_NAME 无论您位于哪个目录,都将始终使用该软件包的全局安装版本。

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

  • 如果您的软件包位于当前目录中,它将使用该软件包。
  • 否则,如果您的软件包位于当前目录的父目录中,它将使用找到的第一个软件包。
  • 否则,如果您全局安装了软件包,它将使用该软件包。
  • 否则,如果您根本没有该软件包,它将临时安装,使用它,然后将其丢弃。- 这是确保软件包最新的最佳方法

关于npx的更多信息可以在此答案中找到。

使用npxcreate-react-app

create-react-app有一些特殊的命令/别名创建一个应用程序的反应(代替npx)特定于该程序包(yarn create react-appnpm init react-app),但npx create-react-app因为它与其他的包不将工作一样。

yarnVS npm全球安装

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

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


5

这解决了我的问题

脚步:

1.卸载创建反应应用程序

npm uninstall -g create-react-app

2.现在就使用

npx create-react-app my-app

这将自动为u创建模板。



5

这对我有用!

1) npm uninstall -g create-react-app

2) npm install -g create-react-app

3) npx create-react-app app_name

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


3

首先卸载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-app或者npx create-react-app my-app仍然会给出错误,

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

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

npm cache clean --force 

然后跑

npm cache verify

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

yarn create react-app my-app 要么 npx create-react-app my-app

现在您将得到您所期望的!


3

我通过从全局npm lib 卸载在Mac上解决了此问题create-react-app,基本上就是这样说,只需尝试做,您还需要这样做sudo

sudo npm uninstall -g create-react-app

然后只需运行:

npx create-react-app my-app-name

现在应该一切正常,并获得如下所示的文件夹结构:

使用create react应用未提供模板


1
我正在Linux Mint 19(基于Ubuntu的系统)上尝试上述所有方法。没有任何帮助,但是做到了。sudo npm uninstall -g create-react-app
维克多

3

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

但这有效:

yarn global remove create-react-app

然后:

npx create-react-app my-app


这对我
有用

3

这项工作适合我:

让我们通过以下命令全局卸载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

2

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

通过执行以下操作,我确实设法使其全部正常工作:

  1. 卸载全局create-react-app npm uninstall create-react-app -g
  2. 验证npm缓存npm cache verify
  3. 关闭端子。我使用mac终端,如果使用IDE可能会关闭然后重新打开。
  4. 重新打开终端,浏览至所需项目,然后使用新的模板命令约定通过npx运行create-react-app。为了使其正常工作,我使用了文档站点中的打字稿my-app来确保一致性:npx create-react-app my-app --template typescript

如果可行,您应该看到多个安装:一个安装用于react-scripts,另一个安装用于template。错误消息也将不再出现。


2

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

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

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


2

这对我有用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

1

使用此命令后:

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 

0

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


0

我遇到了同样的问题,并且在我的机器上全局安装了“ create-react-app”。有错误:

“未提供模板。这很可能是因为您使用的是过时的create-react-app版本。请注意,不再支持在全球范围内安装create-react-app。”

然后,我使用此命令删除了先前的安装。

npm卸载-g create-react-app

然后安装新的React应用。

npx create-react-app新应用


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.