当我在我的终端上输入create-react-app my-app命令时,它似乎工作了-下载所有库成功等。在该过程结束时,我得到一个消息,没有提供模板。

输入

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的Json:

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

我检查了CRA更改日志,它看起来像是增加了对自定义模板的支持-但是它看起来不像命令create-react-app my-app会改变。

知道这是怎么回事吗?


当前回答

我通过从全局npm lib卸载create-react-app来修复Mac上的这个问题,这基本上就是说的,只是尝试去做,你还需要做sudo:

sudo npm uninstall -g create-react-app

然后简单地运行:

npx create-react-app my-app-name

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

其他回答

我通过从全局npm lib卸载create-react-app来修复Mac上的这个问题,这基本上就是说的,只是尝试去做,你还需要做sudo:

sudo npm uninstall -g create-react-app

然后简单地运行:

npx create-react-app my-app-name

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

1)

npm uninstall -g create-react-app

or

yarn global remove create-react-app

2)

似乎有一个错误,create-react-app没有正确卸载,使用其中一个新命令导致:

没有提供模板。这可能是因为您正在使用 过时版本的创建-反应-应用程序。

在使用npm uninstall -g create-react-app卸载后,检查你的命令行上是否仍然“安装”了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 -g create-react-app对我没用。

但这个方法奏效了:

Yarn全局删除create-react-app

然后:

create-react-app my-app

把以上的答案加起来:

随着新版本的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

最简单的方法之一就是使用

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

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

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