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

知道这是怎么回事吗?


当前回答

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

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

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

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

其他回答

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

sudo npm uninstall -g create-react-app

然后简单地运行:

npx create-react-app my-app-name

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

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

TLDR;运行NPX——ignore-existing create-react-app

我用的是Mojave 10.15.2的Mac

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

然后我看到了这条关于CRA github问题的评论。使用——ignore-existing标志运行该命令会有所帮助。

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

NPM缓存清理——force NPM缓存验证 Yarn创建my-app

我希望这能有所帮助。

EDIT

...在我进一步研究了这个问题之后,你可能想尝试以下方法:

NPM卸载-g create-react-app Yarn全局删除create-react-app which create-react-app -如果它返回一些东西(例如/usr/local/bin/create-react-app),然后执行rm -rf /usr/local/bin/create-react-app手动删除。 NPM缓存清理——force NPM缓存验证 npx create-react-app@latest

These steps should remove globally installed create-react-app installs, you then manually remove the old directories linked to the old globally installed create-react-app scripts. It's then a good idea to clear your npm cache to ensure your not using any old cached versions of create-react-app. Lastly create a new reactjs app with the @latest option like so: npx create-react-app@latest. There has been much confusion on this issue where no template is created when using npx create-react-app, if you follow the steps I have stated above (1-6) then I hope you'll have success.

p.s.

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

NPX create-react-app@latest ./client

祝你好运。

如果你之前已经通过npm install -g create-react-app全局安装了create-react-app,我们建议你使用npm uninstall -g create-react-app卸载这个包,以确保npx总是使用最新的版本。

Docs

使用以下命令中的任意一个:

create-react-app my-app NPM init react-app my-app Yarn创建my-app

如果NPM uninstall -g create-react-app上面说的不起作用。 输入create-react-app来知道它被安装在哪里。我的安装在/usr/bin文件夹中。然后执行sudo rm -rf /usr/bin/create-react-app。(感谢下面@v42的评论)

我用下面的命令解决了这个问题。

NPM卸载-g create-react-app

NPM缓存清理——force

then

NPX create-react-app project_name——template all

谢谢你!对我来说也是如此。