当我在我的终端上输入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会改变。

知道这是怎么回事吗?


当前回答

如果你得到这个错误'Template not provided ...."一遍又一遍,然后直接执行以下步骤:

NPM卸载-g create-react-app 使用命令"which create-react-app"查看文件" create-react-app"的位置 现在手动删除该文件,使用命令“rm -rf /usr/local/bin/create-react-app”将此命令替换为上一步中显示的确切路径。 最后运行'npx create-react-app '

这将取代你的旧文件“create-react-app”,该文件导致了用npx下载的新文件的问题。

快乐的编码…

其他回答

这个问题不是这样解决的,问题是在node的不同实例中,尝试全局删除create-react-app,然后删除node_modules和package-lock。来自根用户的Json

我上周也遇到了同样的问题。我尝试了答案部分提供的许多方法。但现在情况不同了。这个create-react-app的最新版本提供了2个模板。

1. cra-template

2. cra-template-typescript

如果使用javascript,请选择cra-template。如果你使用typescript,请使用cra-template-typescript。

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

 npm uninstall -g create-react-app

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

npm install create-react-app@latest

现在您必须像这样导入模板。(如果你使用typescript,请使用"cra-template-typescript"而不是"cra-template"。My-app用作名称。你可以给它起任何名字)。

npx create-react-app my-app --template cra-template

现在将下载模板。但请记住,这并不等于过去的版本。(不同的)

快乐的编码。

下面的步骤对我很有效

NPM卸载-g create-react-app npx clear-npx-cache NPM I -g create-react-app create-react-app myapp

这对我很管用!

1) NPM卸载-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卸载它

npx create-react-app@latest {project name}

这似乎是可行的方法。