ChatGPT解决这个技术问题 Extra ChatGPT

Template not provided using create-react-app

When I type the create-react-app my-app command in my terminal, it appears to work - downloading all libraries successfully etc. At the end of that process however I get a message that a template was not provided.

Input

user@users-MacBook-Pro-2 Desktop% create-react-app my-app

Output

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.

In package.json of my-app:

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

I checked out the CRA changelog and it looks like support was added for custom templates - however it doesn't look like the command create-react-app my-app would have changed.

Any idea what is going on here?

rumor is that the global package isn't so hot anymore. try 'npm init react-app my-app'
Also update your install
Thanks - what ended up working (using Yarn) is upgrading CRA with: yarn global upgrade create-react-app - then doing yarn create react-app my-app
I got the same problem on a windows machine
Same here, on Windows npm uninstall -g create-react-app did not solve it. I had to go to the folder C:\Users\serge\AppData\Roaming\npm (your path will vary), and execute npm uninstall creat-react-app in this folder. After that I installed with npx create-react-app sample-react --template typescript --use-npm.

d
dabo248

If you've previously installed create-react-app globally via npm install -g create-react-app, we recommend you uninstall the package using npm uninstall -g create-react-app to ensure that npx always uses the latest version.

Docs

Use either one of the below commands:

npx create-react-app my-app

npm init react-app my-app

yarn create react-app my-app

if npm uninstall -g create-react-app stated above does not work. Type which create-react-app to know where it is installed. Mine was installed in /usr/bin folder. Then do sudo rm -rf /usr/bin/create-react-app. (Credit to @v42 comment below)


I thought npm uninstall -g create-react-app and npx create-react-app my-app would work. But somehow npx still creates a project without the template. Is create-react-app somehow cached? I thought having a global cra installation would be deprecated. I had to update create-react-app -g instead before using npx.
if you still have the same error after npm uninstall -g create-react-app, enter which create-react-app in your console. If it returns something like /usr/local/bin/create-react-app, then do a rm -rf /usr/local/bin/create-react-app to delete manually.
This is not a good approach IMHO. why do we have to be downloading and running stuff each time instead of having a local copy? Its waste of bandwidth and a very good way to execute random code from the internet and one day get hacked.... Just reinstall it like I did npm install create-react-app -g my solution means you will eventually get this error again but people should not be running arbitrary code from the webs and should be able to stay on a specific version if they choose so....
finally got it to work for typescript template npm uninstall -g create-react-app sudo rm -rf /usr/local/bin/create-react-app npx create-react-app newapp --template typescript
If these solutions don't work for you, it may be possible that you installed the package globally via yarn like I evidently did. In that case use yarn global remove create-react-app to remove it.
R
Robin Wieruch

1)

npm uninstall -g create-react-app

or

yarn global remove create-react-app

2)

There seems to be a bug where create-react-app isn't properly uninstalled and using one of the new commands lead to:

A template was not provided. This is likely because you're using an outdated version of create-react-app.

After uninstalling it with npm uninstall -g create-react-app, check whether you still have it "installed" with which create-react-app (Windows: where create-react-app) on your command line. If it returns something (e.g. /usr/local/bin/create-react-app), then do a rm -rf /usr/local/bin/create-react-app to delete manually.

3)

Then one of these ways:

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

I had to remove the installation folder, npm uninstall create-react-app -g did not work
$ echo '#!/bin/sh' > /usr/local/bin/create-react-app $ echo 'echo use yarn create-react-app instead' > /usr/local/bin/create-react-app $ chmod 0700 /usr/local/bin/create-react-app
On Windows, you can use the command where instead of which
K
Kristianmitk

Though already lots of answer is here. I came up with 3 solutions which I applied step by step when I faced this situation.

First step: From Official manual,

If you've previously installed create-react-app globally via npm install -g create-react-app, we recommend you uninstall the package using npm uninstall -g create-react-app to ensure that npx always uses the latest version.

https://create-react-app.dev/docs/getting-started

You can use these commands below:

npx create-react-app my-app

npm init react-app my-app

yarn create react-app my-app

Second step (If first one doesn't work):

Sometimes it may keep caches.then you can use these commands given below.

npm uninstall -g create-react-app

npm cache clean --force

npm cache verify

yarn create react-app my-app

Third step:(If these 2 won't work) first uninstall via npm uninstall -g create-react-app,then check if you still have it "installed" with which create-react-app command on your command line. If you got something like (/usr/local/bin/create-react-app) then run this rm -rf /usr/local/bin/create-react-app (folder may vary) to delete manually. Then again install it via npx/npm/yarn.

NB: I succeed in the last step.


For whatever reason, npx and npm init did not work, but yarn did after clearing cache. I needed to rm -rf the create-react-app folder too. So thankful for SO.
on windows (from a wsl terminal) which create-react-app showed that I needed to delete the create-react-app* files in /mnt/c/Users/myWindowsUser/AppData/Roaming/npm/
S
S.S. Anne

First uninstall create-react-app globally by this command:

npm uninstall -g create-react-app

then in your project directory:

npm install create-react-app@latest

finally:

npx create-react-app my-app

this one help me TY
Finally fixed this issue after about 1 year of trying. Thank you so much
Only one that worked after the dozen useless answers above, thanks!
B
Bakhtiiar Muzakparov

To add up more to the answers above:

With the new release of create-react-app, you can create a new app using custom templates. Two templates available so far:

cra-template

cra-template-typescript

Usage:

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

More details of the latest changes in create-react-app:

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


S
S.S. Anne

I too had the same problem. When I trid the npm init react-app my-app command returned the same message

A template was not provided. This is likely because you're using an outdated version of create-react-app.

But

yarn create react-app my-app command works fine.


S
S.S. Anne

npm install -g create-react-app in your pc create react project again with npx create-react-app my-app


It's recommended to uninstall create-react-app globally though.
Error will return when there a new update with this method
I think this is what caused the error in the first place globally installing create-react-app
0
0x90

This worked for me.

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


D
DevStormUK

Clear your npm cache first then use yarn as follows:

npm cache clean --force

npm cache verify

yarn create react-app my-app

I hope this helps.

EDIT

...you might want to try the following after I have looked into this problem further:

npm uninstall -g create-react-app yarn global remove create-react-app which create-react-app - If it returns something (e.g. /usr/local/bin/create-react-app), then do a rm -rf /usr/local/bin/create-react-app to delete manually. npm cache clean --force npm cache verify 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.

If I wanted to then create a react app in a directory called client then I would type the following command into the terminal:

npx create-react-app@latest ./client

Good luck.


B
Ben S

So I've gone through all the steps here, but non helped.

TLDR; run npx --ignore-existing create-react-app

I am on a Mac with Mojave 10.15.2

CRA was not installed globally - didn't find it in /usr/local/lib/node_modules or /usr/local/bin either.

Then I came across this comment on CRA's github issues. Running the command with the --ignore-existing flag helped.


"npx: the --ignore-existing argument has been removed." but still, none of the answers so far fixed the issue.
I sold my mac and did a fresh install on the new one... sounds bizarre...
H
Hammad Hassan

These two steps worked for me

1) Uninstalled react-app globally with this command

npm uninstall -g create-react-app

2) Installed react-app in project folder with this command

npx create-react-app project-name

B
Buk Lau

npx create-react-app@latest your-project-name

work for me after trying all the answers hope that can help someone in the future.


G
Gully Habibi

"If you've previously installed create-react-app globally via npm install -g create-react-app, we recommend you uninstall the package using npm uninstall -g create-react-app to ensure that npx always uses the latest version"

This is reported at https://create-react-app.dev/docs/getting-started/. For me, this did not work. I had to re-install create-react-app globally instead.

My steps to fix this problem were to:

npm uninstall -g create-react-app npm install -g create-react-app npx create-react-app my-app


It's not recommended to use a global installation of create-react-app anymore.
This is true, however, I couldn't figure out another way to install the template without doing a global installation. It doesn't make a difference to my app anyway.
N
N'Bayramberdiyev

All of the option didn't work for me on MacOS. What did work was the following 3 steps:

Delete the node from: /usr/local/bin/

then

install node newly: https://nodejs.org/en/

then

Install react: npx create-react-app my-app follow: https://create-react-app.dev/


Yes that is correct - then check to see if it is still installed $ react-create-app --version. IF there is still a version you may have to remove it manually. In my case it remained ~/.nvm/versions/node//lib/node_modules so you have to rm -rf react-create-app in that folder
c
coding_Lover

For Linux this worked for me

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

J
JBallin

TLDR: Uninstall the global package using npm uninstall -g create-react-app and generate new react apps using npx create-react-app app.

Issue

You're using an older version of create-react-app that you have installed globally using npm. The create-react-app command invokes this global package.

You could've confirmed that you were using an outdated version by running npm outdated -g create-react-app or comparing create-react-app --version with npm view create-react-app.

The fact that the version of react-scripts was up to date, has nothing to do with the version of the package that is bootstrapping the app (create-react-app), which grabs the latest versions of the packages that it uses (react-scripts in this case).

Solution

If you want to continue using the create-react-app command, you'll need to update the global package using npm update -g create-react-app. Note that you'll want to do this periodically to keep it up to date. You'll notice that create-react-app does not recommend this (noted in the logs from your install).

A better approach would be to delete the global install entirely (npm uninstall -g create-react-app) and instead use npx so that it grabs the latest version of the package every time (more detail on npx below).

You should confirm that it was uninstalled globally by trying to use create-react-app to make sure the command is "not found".

Issues with uninstalling?

You can debug where it was installed using which create-react-app. If you're having issues uninstalling it, you may have multiple versions of node/npm on your machine (from multiple installs, or because you use a node version manager such as nvm). This is a separate issue I won't address here, but there's some info in this answer.

A quick nuclear approach would be to forcefully remove it (rm -rf) at the path that which create-react-app returns.

Supplement

Global npm packages and the npx command

$ NPM_PACKAGE_NAME will always use the globally installed version of the package, regardless of which directory you're in.

$ npx NPM_PACKAGE_NAME will use the first version of the package that it finds when searching up from the current directory to the root:

If you have the package in your current directory, it will use that.

Else if you have the package in a directory that is a parent of your current directory, it will use the first one it finds.

Else if you have the package installed globally, it will use that.

Else if you don't have the package at all, it will temporarily install it, use it, and then discard it. - this is the best way to ensure the package is up to date.

More info about npx can be found in this answer.

Using npx with create-react-app

create-react-app has some special commands/aliases to create a react app (instead of npx) that are specific to that package (yarn create react-app, npm init react-app), but npx create-react-app will work the same as it does with other packages.

yarn vs npm global installs

Yarn stores global installs in a different folder than npm, which is why yarn create react-app would work immediately without uninstalling the global npm package (as far as yarn is concerned, the package hasn't been installed).

This is just a temporary solution though, as you'll need to remember to always use yarn instead of npm when using Create React App.


L
Lahiru Amarathunge

This works for me!

1) npm uninstall -g create-react-app

2) npm install -g create-react-app

3) npx create-react-app app_name

If you have any previously installed create-react-app globally via npm install -g create-react-app, Better to uninstall it using npm uninstall -g create-react-app


R
RamPrakash

This solved my problem

Steps:

1.Uninstall the create-react app

npm uninstall -g create-react-app

2.Now just use

npx create-react-app my-app

this will automatically create the template for u .


L
Luis Meneses

This problem is not solved like this, the problem is in the different instances of node, try removing globally create-react-app and then delete the node_modules and package-lock.json from your root user


s
shivlal kumavat

This work's for me :

Let's, uninstall create-react-app globally by this command:

npm uninstall -g create-react-app

After that in your project directory:

npm install create-react-app@latest

At the last:

npx create-react-app my-app

For typescript :

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

S
Sasmitha Dasanayaka

First uninstall create-react-app

npm uninstall -g create-react-app

Then run yarn create react-app my-app or npx create-react-app my-app

then running yarn create react-app my-app or npx create-react-app my-app may still gives the error,

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.

This may happens because of the cashes. So next run

npm cache clean --force 

then run

npm cache verify

Now its all clear. Now run

yarn create react-app my-app or npx create-react-app my-app

Now you will get what you expected!


A
Alireza

I fix this issue on Mac by uninstalling create-react-app from global npm lib, that's basically what said, just try to do, you need also do sudo:

sudo npm uninstall -g create-react-app

Then simply run:

npx create-react-app my-app-name

Now should be all good and get the folder structures as below:

https://i.stack.imgur.com/qdhOb.png


I was trying all these writed above methods on Linux Mint 19 (Ubuntu based system). Nothing helped, but this did it. sudo npm uninstall -g create-react-app
K
Karthic Rao

Using the command npm uninstall -g create-react-app didn't work for me.

But this worked:

yarn global remove create-react-app

and then:

npx create-react-app my-app


This worked for me, I tried every methods including manual delete from /usr/local/bin
R
Ryan McCormick

Such a weird problem because this worked for me yesterday and I came across the same error this morning. Based on the release notes, a new feature was added to support templates so it looks like a few parts have changed in the command line (for example, the --typescript was deprecated in favor of using --template typescript)

I did manage to get it all working by doing the following:

Uninstall global create-react-app npm uninstall create-react-app -g. Verify npm cache npm cache verify. Close terminal. I use the mac terminal, if using an IDE maybe close and re-open. Re-open terminal, browse to where you want your project and run create-react-app via npx using the new template command conventions. For getting it to work, I used the typescript my-app from the documentation site to ensure consistency: npx create-react-app my-app --template typescript

If it works, you should see multiple installs: one for react-scripts and one for the template. The error message should also no longer appear.


A
Andrew

npm uninstall -g create-react-app could be an answer in some cases, but not in mine.

You should manually delete your create-react-app located at ~/.node/bin/ or /usr/bin/ (just type which create-react-app and remove it from locations you saw using rm -rf), next just run npm i -g create-react-app.

After that create-react-app will be working correctly.


A
Amila Weerasinghe

This worked for me 1.First uninstall create-react-app globally by this command:

npm uninstall -g create-react-app

If there you still have the previous installation please delete the folder called my app completely.(Make sure no program is using that folder including your terminal or cmd promt)

2.then in your project directory:

npm install create-react-app@latest

3.finally:

npx create-react-app my-app

A
Alex Ertl

For any Windows users still having this issue, this is what fixed it for me:

Run where create-react-app to get the path (mine was in C:\Users\username\AppData\Local\Yarn\bin). Navigate to that directory and delete both "create-react-app" and "create-react-app.cmd". Navigate to the directory you want to start a project in. Run npm install create-react-app, npx create-react-app name-of-app, cd name-of-app, yarn start.

Step #4 will vary based on your configuration, but that's just what got me up and running.


Can confirm. Deleting just the "create-react-app" doesn't fix it, but deleting both that and "create-react-app.cmd" did.
c
chandan kumar yadav

One of the easiest way to do it is by using

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

This will remove the old cached version of create-react-app and then get the new version to create the project.

Note: Adding the name of the project is important as just ignoring the existing create-react-app version is stale and the changes in your machines global env is temporary and hence later just using npx create-react-app [project name] will not provide the desired result.


H
Helen_CEE

After using this command:

yarn global upgrade create-react-app

I then tried:

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

This worked though:

npx create-react-app my-app 

d
dadiaar

For Windows 10 I had to manually delete some folders in yarn's cache, my path was something like C:\Users\username\AppData\Local\Yarn\Cache\v1 and the foldes I had to remove were something like npm-create-react-app-1.0.0-1234567890abcdef


For Windows 7 this also solved my issue. One I deleted the Yarn cache and ran npm cache clear --force, etc I was able to run npx create react app.

关注公众号,不定期副业成功案例分享
Follow WeChat

Success story sharing

Want to stay one step ahead of the latest teleworks?

Subscribe Now