当我在终端中键入 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
并没有改变。
知道这里发生了什么吗?
yarn global upgrade create-react-app
升级 CRA - 然后做 yarn create react-app my-app
npm uninstall -g create-react-app
上没有解决它。我必须转到文件夹 C:\Users\serge\AppData\Roaming\npm
(您的路径会有所不同),并在此文件夹中执行 npm uninstall creat-react-app
。之后我安装了 npx create-react-app sample-react --template typescript --use-npm
。
如果您之前通过 npm install -g create-react-app 全局安装了 create-react-app,我们建议您使用 npm uninstall -g create-react-app 卸载该软件包,以确保 npx 始终使用最新版本。
使用以下任一命令:
npx 创建反应应用程序我的应用程序
npm init react-app my-app
纱线创建反应应用程序我的应用程序
如果上述 npm uninstall -g create-react-app
不起作用。 输入 which create-react-app
以了解它的安装位置。我的安装在 /usr/bin
文件夹中。然后执行sudo rm -rf /usr/bin/create-react-app
。 (归功于下面的@v42 评论)
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),则执行 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
where
而不是 which
虽然这里已经有很多答案了。当我遇到这种情况时,我想出了 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 创建反应应用程序我的应用程序
npm init react-app my-app
纱线创建反应应用程序我的应用程序
第二步(如果第一步不起作用):
有时它可能会保留缓存。然后您可以使用下面给出的这些命令。
npm 卸载 -g create-react-app
npm 缓存清理 --force
npm 缓存验证
纱线创建反应应用程序我的应用程序
第三步:(如果这两个都行不通)先通过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 安装它。
注意:我在最后一步成功了。
npx
和 npm init
都不起作用,但 yarn
在清除缓存后起作用。我还需要 rm -rf
create-react-app
文件夹。非常感谢SO。
which create-react-app
显示我需要删除 /mnt/c/Users/myWindowsUser/AppData/Roaming/npm/
中的 create-react-app*
文件
首先通过以下命令全局卸载 create-react-app:
npm uninstall -g create-react-app
然后在您的项目目录中:
npm install create-react-app@latest
最后:
npx create-react-app my-app
要在上面的答案中添加更多内容:
在 create-react-app
的新版本中,您可以使用自定义模板创建新应用程序。目前可用的两个模板:
cra模板
cra模板打字稿
用法:
npx create-react-app my-app [--template typescript]
create-react-app
中最新更改的更多详细信息:
https://github.com/facebook/create-react-app/releases/tag/v3.3.0
我也有同样的问题。当我尝试 npm init react-app my-app
命令返回相同的消息
没有提供模板。这可能是因为您使用的是过时版本的 create-react-app。
但
yarn create react-app my-app
命令工作正常。
npm install -g create-react-app 在你的电脑中使用 npx create-react-app my-app 再次创建反应项目
这对我有用。
npm 卸载 -g create-react-app npx create-react-app my-app
首先清除你的 npm 缓存,然后使用 yarn,如下所示:
npm 缓存清理 --force
npm 缓存验证
纱线创建反应应用程序我的应用程序
我希望这有帮助。
编辑
...在我进一步研究此问题后,您可能想尝试以下操作:
npm uninstall -g create-react-app yarn global remove create-react-app which create-react-app - 如果它返回一些东西(例如 /usr/local/bin/create-react-app),然后执行 rm -rf /usr/local/bin/create-react-app 手动删除。 npm cache clean --force npm cache verify npx create-react-app@latest
这些步骤应该删除全局安装的 create-react-app 安装,然后手动删除链接到旧的全局安装的 create-react-app 脚本的旧目录。清除 npm 缓存以确保不使用任何旧的缓存版本的 create-react-app 是个好主意。最后使用 @latest
选项创建一个新的 reactjs 应用,如下所示:npx create-react-app@latest
。在使用 npx create-react-app 时没有创建模板的问题上存在很多混淆,如果您按照我上面所述的步骤(1-6)进行操作,那么我希望您能成功。
ps
如果我想在名为 client 的目录中创建一个 react 应用程序,那么我将在终端中键入以下命令:
npx create-react-app@latest ./client
祝你好运。
所以我已经完成了这里的所有步骤,但没有帮助。
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
标志的命令会有所帮助。
这两个步骤对我有用
1) 使用此命令全局卸载 react-app
npm uninstall -g create-react-app
2)使用此命令在项目文件夹中安装 react-app
npx create-react-app project-name
npx create-react-app@latest your-project-name
在尝试了所有答案后为我工作,希望将来能对某人有所帮助。
“如果您之前通过 npm install -g create-react-app 全局安装了 create-react-app,我们建议您使用 npm uninstall -g create-react-app 卸载软件包,以确保 npx 始终使用最新版本”
这在 https://create-react-app.dev/docs/getting-started/ 报告。对我来说,这不起作用。我不得不在全球范围内重新安装 create-react-app 。
我解决此问题的步骤是:
npm 卸载 -g create-react-app npm install -g create-react-app npx create-react-app my-app
在 MacOS 上,所有选项都不适用于我。起作用的是以下三个步骤:
从以下位置删除节点:/usr/local/bin/
然后
新安装节点:https://nodejs.org/en/
然后
安装反应:npx create-react-app my-app 跟随:https://create-react-app.dev/
对于 Linux,这对我有用
sudo npm uninstall -g create-react-app
npx create-react-app my-test-app
TLDR:使用 npm uninstall -g create-react-app
卸载全局包并使用 npx create-react-app app
生成新的 React 应用程序。
问题
您正在使用已使用 npm 全局安装的旧版 create-react-app
。 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
)。这是一个单独的问题,我不会在这里讨论,但此 answer 中有一些信息。
一种快速的核方法是在 which create-react-app
返回的路径上强行移除它(rm -rf
)。
补充
全局 npm 包和 npx 命令
$ NPM_PACKAGE_NAME
将始终使用包的全局安装版本,无论您在哪个目录中。
$ npx NPM_PACKAGE_NAME
将使用从当前目录向上搜索到根目录时找到的第一个版本的软件包:
如果您在当前目录中有包,它将使用它。
否则,如果您将包放在当前目录的父目录中,它将使用它找到的第一个。
否则,如果您已全局安装该软件包,它将使用该软件包。
否则,如果您根本没有该软件包,它会临时安装它,使用它,然后丢弃它。 - 这是确保软件包是最新的最佳方式。
可以在此 answer 中找到有关 npx 的更多信息。
将 npx 与 create-react-app 一起使用
create-react-app
有一些特殊的命令/别名来创建特定于该软件包(yarn create react-app
、npm init react-app
)的 react 应用程序(而不是 npx
),但 npx create-react-app
的工作方式与其他应用程序相同包。
yarn vs npm 全局安装
Yarn 将全局安装存储在与 npm
不同的文件夹中,这就是为什么 yarn create react-app
无需卸载全局 npm 包即可立即工作(就 yarn 而言,该包尚未安装)。
不过,这只是一个临时解决方案,因为您需要记住在使用 Create React App 时始终使用 yarn 而不是 npm。
这对我有用!
1) npm uninstall -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 卸载它
这解决了我的问题
脚步:
1.卸载create-react应用
npm uninstall -g create-react-app
2.现在只需使用
npx create-react-app my-app
这将自动为 u 创建模板。
这个问题不是这样解决的,问题出在node的不同实例中,尝试全局删除create-react-app,然后从root用户中删除node_modules和package-lock.json
这项工作适合我:
让我们通过以下命令全局卸载 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
首先卸载 create-react-app
npm uninstall -g create-react-app
然后运行 yarn create react-app my-app
或 npx 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
现在你会得到你所期望的!
我在 Mac 上通过从全局 npm 库中卸载 create-react-app
来解决此问题,这基本上就是所说的,只是尝试做,你还需要做 sudo
:
sudo npm uninstall -g create-react-app
然后简单地运行:
npx create-react-app my-app-name
现在应该一切都好,并获得如下文件夹结构:
https://i.stack.imgur.com/qdhOb.png
sudo npm uninstall -g create-react-app
使用命令 npm uninstall -g create-react-app
对我不起作用。
但这有效:
yarn global remove create-react-app
接着:
npx create-react-app my-app
这是一个奇怪的问题,因为昨天这对我有用,今天早上我遇到了同样的错误。根据发行说明,添加了一项新功能以支持模板,因此命令行中的一些部分似乎已更改(例如,不推荐使用 --typescript
以支持使用 --template typescript
)
通过执行以下操作,我确实设法使这一切正常工作:
卸载全局 create-react-app npm uninstall create-react-app -g。验证 npm 缓存 npm 缓存验证。关闭终端。我使用 mac 终端,如果使用 IDE 可能会关闭并重新打开。重新打开终端,浏览到您想要项目的位置并使用新的模板命令约定通过 npx 运行 create-react-app。为了让它工作,我使用了文档站点中的 typescript my-app 来确保一致性: npx create-react-app my-app --template typescript
如果它有效,您应该会看到多个安装:一个用于 react-scripts,一个用于模板。错误消息也应该不再出现。
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
将正常工作。
这对我有用 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
对于仍然遇到此问题的任何 Windows 用户,这就是为我解决的问题:
运行 where create-react-app 以获取路径(我的是在 C:\Users\username\AppData\Local\Yarn\bin 中)。导航到该目录并删除“create-react-app”和“create-react-app.cmd”。导航到要在其中启动项目的目录。运行 npm install create-react-app、npx create-react-app name-of-app、cd name-of-app、yarn start。
第 4 步将根据您的配置而有所不同,但这正是我启动并运行的原因。
最简单的方法之一是使用
npx --ignore-existing create-react-app [project name]
这将删除 create-react-app 的旧缓存版本,然后获取新版本来创建项目。
注意: 添加项目的名称很重要,因为忽略现有的 create-react-app 版本是陈旧的,并且您的机器全局环境中的更改是临时的,因此稍后仅使用 npx create-react-app [project name]
不会提供所需的结果。
使用此命令后:
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
对于 Windows 10,我必须手动删除 yarn 缓存中的一些文件夹,我的路径类似于 C:\Users\username\AppData\Local\Yarn\Cache\v1
,而我必须删除的文件夹类似于 npm-create-react-app-1.0.0-1234567890abcdef
npm cache clear --force
,等我能够运行 npx 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
手动删除。npm install create-react-app -g
我的解决方案意味着您最终会再次遇到此错误,但人们应该不从网络上运行任意代码,如果他们选择这样做,应该能够保留在特定版本上......npm uninstall -g create-react-app
sudo rm -rf /usr/local/bin/create-react-app
npx create-react-app newapp --template typescript
yarn
全局安装了该软件包。在这种情况下,使用yarn global remove create-react-app
将其删除。