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

时间:2019-12-05 05:12:26

标签: reactjs 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似乎没有改变。

有什么想法吗?

39 个答案:

答案 0 :(得分:175)

  

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

Docs

使用以下任一命令:

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

答案 1 :(得分:30)

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“安装”了它。如果返回了某些内容(例如 / 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

答案 2 :(得分:23)

尽管这里已经有很多答案。 面对这种情况,我提出了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 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安装它。

NB :我在最后一步中成功。

答案 3 :(得分:18)

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

npm uninstall -g create-react-app

然后在您的项目目录中:

npm install create-react-app@latest

最后:

npx create-react-app my-app

答案 4 :(得分:18)

要为上述答案加总:

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

  • cra-template
  • cra-template-typescript

用法

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

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

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

答案 5 :(得分:14)

  1. npm install -g create-react-app在您的计算机上
  2. 使用npx create-react-app my-app重新创建react项目

答案 6 :(得分:13)

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

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标志运行命令很有帮助。

答案 7 :(得分:12)

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

  

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

但是

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

答案 8 :(得分:11)

这对我有用。

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

答案 9 :(得分:11)

这两个步骤对我有用

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

npm uninstall -g create-react-app

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

npx create-react-app project-name

答案 10 :(得分: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 my-app

答案 11 :(得分:8)

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

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

然后

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

然后

  
      
  1. 安装反应:npx create-react-app my-app遵循:https://create-react-app.dev/
  2.   

答案 12 :(得分:7)

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

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

我希望这会有所帮助。

答案 13 :(得分:5)

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


问题

您使用的是{n}在全球范围内安装的create-react-app的较旧版本。 create-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中有一些信息。

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


补充

全局npm软件包和npx命令

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

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

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

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

npxcreate-react-app一起使用

create-react-app具有一些特殊的命令/别名来创建一个特定于该程序包(npxyarn create react-app)的React应用(而非npm init react-app),但是{ {1}}的工作方式与其他软件包相同。

npx create-react-appyarn的全局安装

Yarn将全局安装存储在与npm不同的文件夹中,这就是npm可以立即工作而无需卸载全局npm软件包的原因(就纱线而言,该软件包尚未安装)。

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

答案 14 :(得分:5)

对于Linux,这对我有用

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

答案 15 :(得分:4)

这对我有用!

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

卸载它

答案 16 :(得分:4)

不能像这样解决此问题,问题在于节点的不同实例,请尝试删除全局create-react-app,然后从根用户中删除node_modules和package-lock.json

答案 17 :(得分: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

答案 18 :(得分:3)

这解决了我的问题

步骤:

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

npm uninstall -g create-react-app

2。现在只需使用

npx create-react-app my-app

这将自动为u创建模板。

答案 19 :(得分:3)

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

但这可行:

yarn global remove create-react-app

然后:

npx create-react-app my-app

答案 20 :(得分:3)

我通过从全局npm lib卸载1) SQL State: 00000 --- x: 1 2) SQL State: 00000 --- y: 1 3) SQL State: 00000 --- x: 2 4) SQL State: 00000 --- y: 1 5) SQL State: 00000 --- x: 3 6) SQL State: 00000 --- y: 1 7) SQL State: 00000 --- x: 4 8) SQL State: 00000 --- y: 1 9) SQL State: 00000 --- x: 1 10) SQL State: 00000 --- y: 2 11) SQL State: 00000 --- x: 2 12) SQL State: 00000 --- y: 2 13) SQL State: 00000 --- x: 3 14) SQL State: 00000 --- y: 2 15) SQL State: 00000 --- x: 4 16) SQL State: 00000 --- y: 2 17) SQL State: 00000 --- x: 1 18) SQL State: 00000 --- y: 3 19) SQL State: 00000 --- x: 2 20) SQL State: 00000 --- y: 3 21) SQL State: 00000 --- x: 3 22) SQL State: 00000 --- y: 3 23) SQL State: 00000 --- x: 4 24) SQL State: 00000 --- y: 3 25) SQL State: 00000 --- x: 1 26) SQL State: 00000 --- y: 4 27) SQL State: 00000 --- x: 2 28) SQL State: 00000 --- y: 4 29) SQL State: 00000 --- x: 3 30) SQL State: 00000 --- y: 4 31) SQL State: 00000 --- x: 4 32) SQL State: 00000 --- y: 4 33) SQL State: 00000 --- x: 1 34) SQL State: 00000 --- y: 5 35) SQL State: 00000 --- x: 2 36) SQL State: 00000 --- y: 5 37) SQL State: 00000 --- x: 3 38) SQL State: 00000 --- y: 5 39) SQL State: 00000 --- x: 4 40) SQL State: 00000 --- y: 5 41) SQL State: 00000 --- x: 1 42) SQL State: 00000 --- y: 6 43) SQL State: 00000 --- x: 2 44) SQL State: 00000 --- y: 6 45) SQL State: 00000 --- x: 3 46) SQL State: 00000 --- y: 6 47) SQL State: 00000 --- x: 4 48) SQL State: 00000 --- y: 6 Mac 上解决了此问题,基本上就是这样,只是尝试做,还需要做create-react-app

sudo

然后只需运行:

sudo npm uninstall -g create-react-app

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

template not provided using create react app

答案 21 :(得分:2)

首先卸载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

现在,您将获得预期的结果!

答案 22 :(得分:2)

对于仍然有此问题的所有Windows用户,这是为我解决的问题:

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

第4步会因您的配置而异,但这正是让我启动并运行的原因。

答案 23 :(得分:2)

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

npm uninstall -g create-react-app

如果仍然有以前的安装版本,请彻底删除名为我的应用程序的文件夹。(请确保没有任何程序正在使用该文件夹,包括您的终端或cmd promt)

2。然后在您的项目目录中:

npm install create-react-app@latest

3。最终:

npx create-react-app my-app

答案 24 :(得分:2)

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

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

  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,一次安装模板。错误消息也将不再出现。

答案 25 :(得分:1)

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

答案 26 :(得分:1)

npx create-react-app@latest your-project-name 在尝试了所有答案后为我工作,希望以后能对某人有所帮助。

答案 27 :(得分:1)

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将正常工作。

答案 28 :(得分:1)

使用此命令后:

ngx-build-plus

然后我尝试:

yarn global upgrade create-react-app

这可行:

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

答案 29 :(得分:0)

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

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

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

npm卸载-g create-react-app

然后安装新的React应用。

npx create-react-app new-app

答案 30 :(得分:0)

尝试以管理员身份运行终端。我遇到了同样的问题,除了以管理员身份打开终端,然后执行npx create-react-app yourAppName

之外,没有任何帮助

答案 31 :(得分:0)

对于UBUNTU:如果您遇到以下错误:npx create-react-app未提供模板,而npm create-react-app -g尚未安装但仍不起作用,请执行以下操作:

sudo rm -rf usr/bin/create-react-app    

# this will manualy remove the create-react-app. 
npx create-react-app 

使用打字稿都可以。

答案 32 :(得分:0)

如果一次又一次地收到此错误“未提供模板....”,则继续执行以下步骤:

  1. npm卸载-g create-react-app
  2. 使用“哪个create-react-app”命令检查文件“ create-react-app”的位置
  3. 现在使用命令“ rm -rf / usr / local / bin / create-react-app”手动删除该文件,并将其替换为上一步中显示的确切路径。
  4. 最后运行“ npx create-react-app”

这将替换您的旧文件“ create-react-app”,该文件导致使用npx下载的新文件出现问题。

快乐的编码...

答案 33 :(得分:0)

上周我遇到了同样的问题。我尝试了此答案部分中提供的许多内容。但是现在这件事不一样了。此create-react-app的最新版本提供了2个模板。

1。 cra-template

2。 cra-template-typescript

如果您使用JavaScript,请选择cra-template。如果使用打字稿,请使用cra-template-typescript。

首先,您必须卸载create-react-app。 (如果您使用的是最新版本,请忽略此步骤。)

-vbr

再次安装最新版本的create-react-app

 npm uninstall -g create-react-app

现在,您必须像这样导入模板。 (如果使用打字稿,请使用“ cra-template-typescript”而不是“ cra-template”。my-app用作名称。您可以为其指定任何名称。)

npm install create-react-app@latest

现在将下载模板。但是请记住,这与过去的版本不同。 (有所不同)

快乐编码。

答案 34 :(得分:0)

发生此问题是因为不再支持create-react-app的全局安装。为解决此问题,您应该从系统中完全卸载create-react-app并从中删除,因此请分别运行以下命令:

npm uninstall -g create-react-app

yarn global remove create-react-app

然后请使用此命令检查create-react-app是否存在

which create-react-app

如果它返回任何正确的路径,例如a

/c/Users/Dell/AppData/Local/Yarn/bin/create-react-app

然后运行此命令以全局删除create-react-app

rm -rf /c/Users/Dell/AppData/Local/Yarn/bin/create-react-app

现在您可以使用以下命令之一创建一个新的react应用程序:

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

答案 35 :(得分:0)

最简单的方法之一是使用

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

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

注意:添加项目名称非常重要,因为仅忽略现有的 create-react-app 版本是陈旧的,并且计算机全局环境中的更改是暂时的因此,以后仅使用npx create-react-app [project name]将无法提供所需的结果。

答案 36 :(得分:0)

请试试这个:

<块引用>

npx create-react-app project-name --template all

答案 37 :(得分:0)

我使用以下命令解决了这个问题。

npm uninstall -g create-react-app

npm cache clean --force

然后

npx create-react-app project_name --template all

谢谢你!也为我工作。

答案 38 :(得分:0)

如果其他答案没有帮助,特别是如果您最近搬到大苏尔,这可能会有所帮助。

我尝试了所有答案中描述的所有步骤,但无法让 CRA 为我生成模板。可能是因为我最近搬到了 Big Sur,并且没有更新 node/npm 等。 create-react-app 二进制文件没有安装(既不在 /usr/bin 也不在 /usr/local/bin ),但只要我运行 npx create-react-app project,它都会以可怕的“未提供模板..”消息结束。我升级了 node 和 npm,尝试使用 npm 和 yarn 删除 create-react-app,清除 npm 缓存,尝试使用 npm react-app project,但无济于事。

每当我运行这些命令时,它都会开始抱怨使用过时的包的 react-scripts:

Installing packages. This might take a couple of minutes.
Installing react, react-dom, and react-scripts...

yarn add v1.22.10
info No lockfile found.
[1/4] ?  Resolving packages...
warning react-scripts > babel-eslint@10.1.0: babel-eslint is now @babel/eslint-parser. This package will no longer receive updates.
warning react-scripts > webpack-dev-server > chokidar@2.1.8: Chokidar 2 will break on node v14+. Upgrade to chokidar 3 with 15x less dependencies.
warning react-scripts > webpack-dev-server > chokidar > fsevents@1.2.13: fsevents 1 will break on node v14+ and could be using insecure binaries. Upgrade to fsevents 2.
warning react-scripts > workbox-webpack-plugin > workbox-build > @hapi/joi@15.1.1: Switch to 'npm install joi'
warning react-scripts > workbox-webpack-plugin > workbox-build > rollup-plugin-babel@4.4.0: This package has been deprecated and is no longer maintain
<etc. - tons of warnings like these>

所以我怀疑可能是 react-scripts 是问题所在。为了检查,我运行了 npm list。令我惊讶的是,CRA 被列为“无关”软件包之一:

├── create-react-app@1.5.2 extraneous

然后我运行了 npm uninstall create-react-app@1.5.2,它奏效了。下一次调用 npx create-react-app project 提示我将安装 CRA。果然,安装成功,确实使用了模板。

希望这能帮助任何陷入类似情况的人。