可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
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?
回答1:
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
回答2:
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
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
回答3:
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.
回答4:
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
回答5:
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
回答6:
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.
回答7:
npm install -g create-react-app
in your pc
- create react project again with
npx create-react-app my-app
回答8:
This worked for me.
npm uninstall -g create-react-app
npx create-react-app my-app
回答9:
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
回答10:
"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
回答11:
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/
回答12:
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.
回答13:
npx create-react-app@latest your-project-name
work for me after trying all the answers hope that can help someone in the future.
回答14:
For Linux this worked for me
sudo npm uninstall -g create-react-app
npx create-react-app my-test-app
回答15:
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.
回答16:
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
回答17:
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
回答18:
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 .
回答19:
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!
回答20:
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.
回答21:
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.
回答22:
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
回答23:
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.
回答24:
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
回答25:
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:
回答26:
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
回答27:
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
回答28:
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
回答29:
I had same problem & i have installed "create-react-app" globally on my machine.
There is 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."
Then i removed previous install by using this command.
npm uninstall -g create-react-app
Then install new react app.
npx create-react-app new-app