Шаблон не предоставляется с помощью create-реагировать-приложение

298

Когда я набираю create-react-app my-appкоманду в моем терминале, кажется, что она работает - загрузка всех библиотек успешно и т. Д. В конце этого процесса я получаю сообщение, что a 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.

В package.json из my-app:

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

Я проверил журнал изменений CRA, и похоже, что была добавлена ​​поддержка для пользовательских шаблонов - однако не похоже, что команда create-react-app my-appизменилась бы.

Есть идеи, что здесь происходит?

SamYoungNY
источник
7
Ходят слухи, что глобальный пакет уже не такой горячий. попробуйте 'npm init activ-app my-app'
Тим Уилсон
12
Также обновите вашу установку
Тим Уилсон
11
Спасибо - то, что закончилось работой (используя Yarn), обновляет CRA: yarn global upgrade create-react-app- затем делаетyarn create react-app my-app
SamYoungNY
У меня такая же проблема на машине с Windows
Макс Кэрролл
то, что работало для меня, когда весь совет здесь потерпел неудачу, делало locate create-react-appи удаляло все каталоги, которые были create-react-appв названии. Только тогда npx create-react-appнаконец- то все заработало нормально для меня.
Кай Карвер

Ответы:

355

Если вы ранее устанавливали create-react-appглобально через npm install -g create-react-app, мы рекомендуем вам удалить пакет с помощью, npm uninstall -g create-react-appчтобы npxвсегда использовать последнюю версию.

Документы

Используйте одну из следующих команд:

  • npx create-react-app my-app
  • npm init react-app my-app
  • yarn create react-app my-app
Лата Эшаппа
источник
21
Я думал, что npm uninstall -g create-реагировать-app и npx create-реагировать-app my-app будет работать. Но почему-то npx по-прежнему создает проект без шаблона. Как-то кешируется create-реагировать-приложение? Я думал, что глобальная установка cra будет устаревшей. Вместо этого мне пришлось обновить create-response-app -g перед использованием npx.
Робин Вирух
126
если после этого у вас все еще будет та же ошибка npm uninstall -g create-react-app, введите which create-react-appв вашей консоли. Если он возвращает что-то вроде /usr/local/bin/create-react-app, затем выполните rm -rf /usr/local/bin/create-react-appудаление вручную.
v42
13
Это не очень хороший подход ИМХО. почему мы должны загружать и запускать файлы каждый раз вместо локальной копии? Потеря пропускной способности и очень хороший способ выполнения случайного кода из Интернета и однажды взломанный ... Просто переустановите его, как я сделал, npm install create-react-app -gмое решение означает, что вы в конечном итоге получите эту ошибку снова, но люди не должны запускать произвольный код из паутины и должны быть в состоянии остаться на определенной версии, если они выберут это ...
Родриго Граса
7
наконец-то заставил его работать над шаблоном машинописи npm uninstall -g create-react-app sudo rm -rf /usr/local/bin/create-react-app npx create-react-app newapp --template typescript
CyberProdigy
2
используйте это, npm list -g --depth=0чтобы увидеть, есть ли create-реакции-приложение в списке установленных пакетов узлов. Если это так, запустите npm uninstall -g create-react-appдля удаления.
Клод Де Чамбила
59

1)

npm uninstall -g create-react-app

или

yarn global remove create-react-app

2)

Кажется, есть ошибка, когда create-реагировать на приложение не удаляется должным образом и использование одной из новых команд приводит к:

Шаблон не был предоставлен. Вероятно, это связано с тем, что вы используете устаревшую версию create-реагировать на приложение.

После удаления с помощью npm uninstall -g create-react-appпроверьте, установлен ли он с помощью which create-react-app(Windows where create-react-app:) в командной строке. Если он что-то возвращает (например, / usr / local / bin / create-реагировать-приложение ), затем выполните 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
Робин Вирух
источник
5
Мне пришлось удалить папку установки, npm uninstall create-реагировать-app -g не работает
artfulbeest
2
$ echo '#! / bin / sh'> / usr / local / bin / create-реагировать-app $ echo 'echo использовать вместо yarn create-Reaction-app'> / usr / local / bin / create-Reaction-app $ chmod 0700 / usr / local / bin / create-
Джейсон ФБ
1
В Windows вы можете использовать команду whereвместоwhich
Vinicius
41

Хотя уже много ответов здесь. Я придумал 3 решения, которые я применил шаг за шагом, когда столкнулся с этой ситуацией.


Первый шаг: из официального руководства,

Если вы ранее устанавливали create-Reaction-app глобально через npm install -g create-react-app, мы рекомендуем вам удалить пакет, используя, npm uninstall -g create-react-appчтобы npx всегда использовал последнюю версию.

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

Вы можете использовать эти команды ниже:

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

Второй шаг (если первый не работает):

Иногда он может хранить кэши. Затем вы можете использовать эти команды, приведенные ниже.

  • npm uninstall -g create-react-app
  • npm cache clean --force
  • npm cache verify
  • yarn create react-app my-app

Третий шаг: (если эти 2 не будут работать) сначала удалите через npm uninstall -g create-react-app, а затем проверьте, установлен ли он у вас с помощью which create-react-appкоманды в командной строке. Если у вас есть что-то вроде ( / usr / local / bin / create-Reaction-app ), запустите это rm -rf /usr/local/bin/create-react-app(папка может отличаться), чтобы удалить вручную. Затем снова установите его через npx / npm / yarn.

NB : я преуспеваю в последнем шаге.

Мошиур Рахман
источник
2
Это сработало для меня. Спасибо.
Обещание Престона
Это работало для меня на MacOS.
Охотник
По какой-то причине npxи npm initне работал, но yarnсделал после очистки кеша. Мне тоже нужно rm -rfв create-react-appпапку. Так благодарен за ТАК.
ZebGir
28

Сначала удалите create-реакции-приложение глобально с помощью этой команды:

npm uninstall -g create-react-app

затем в каталоге вашего проекта:

npm install create-react-app@latest

наконец-то:

npx create-react-app my-app
Тооба Анвар
источник
это поможет мне TY
Smaïne
21

Чтобы добавить больше к ответам выше:

С новым выпуском 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

Бахтияр Музакпаров
источник
17

У меня тоже была такая же проблема. Когда я запускаю, npm init react-app my-appкоманда возвращает то же сообщение

Шаблон не был предоставлен. Вероятно, это связано с тем, что вы используете устаревшую версию create-реагировать на приложение.

Но

yarn create react-app my-app Команда отлично работает.

Sampathkumar
источник
17

Это сработало для меня.

  1. npm uninstall -g create-react-app
  2. npx create-react-app my-app
metalHeadDev
источник
15
  1. npm install -g create-react-app в вашем компьютере
  2. создать реактивный проект снова с npx create-react-app my-app
Акбарал Азиз
источник
8
Тем не менее, рекомендуется деинсталлировать create-реакции-приложение глобально.
Робин Виеруч
Ошибка вернется, когда будет новое обновление с этим методом
Хилари Мвапе
Я думаю, что именно это и вызвало ошибку, во-первых, глобальную установку приложения create-реакции-приложения
Роберт Стоукс
12

Эти два шага работали на меня

1) Удалите реакцию на глобально с помощью этой команды

npm uninstall -g create-react-app

2) С помощью этой команды установил реакцию-приложение в папке проекта

npx create-react-app project-name
Hammad
источник
10

« Если вы ранее устанавливали create-Reaction-app глобально с помощью npm install -g create-Reaction-app, мы рекомендуем вам удалить пакет с помощью npm uninstall -g create-реагировать-app, чтобы npx всегда использовал последнюю версию »

Об этом сообщается по адресу https://create-react-app.dev/docs/getting-started/ . Для меня это не сработало. Вместо этого мне пришлось переустанавливать create-реагировать-приложение глобально.

Мои шаги по решению этой проблемы заключались в следующем:

  1. npm удалить -g создать-реагировать-приложение
  2. npm install -g создать-реагировать-приложение
  3. npx создать-реагировать-приложение мое-приложение
Галли Хабиби
источник
1
Больше не рекомендуется использовать глобальную установку приложения create-реакции-приложения.
Робин Виеруч
4
Это правда, однако, я не мог найти другой способ установить шаблон, не выполняя глобальную установку. В любом случае это не имеет значения для моего приложения.
Галли Хабиби
6
Да, то же самое, что говорит док, не работает
Кори Гибсон
10

Сначала очистите кэш npm, затем используйте пряжу следующим образом:

  • npm cache clean --force
  • npm cache verify
  • yarn create react-app my-app

Надеюсь, это поможет.

РЕДАКТИРОВАТЬ

... вы можете попробовать следующее после того, как я рассмотрю эту проблему дальше:

  1. npm uninstall -g create-react-app
  2. yarn global remove create-react-app
  3. which create-react-app - Если он что-то возвращает (например, / usr / local / bin / create-Reaction-app), то выполните команду rm -rf / usr / local / bin / create-реагирующий-app для удаления вручную.
  4. npm cache clean --force
  5. npm cache verify
  6. npx create-react-app@latest

Эти шаги должны удалить глобально установленные установки create-response-app, затем вы вручную удалите старые каталоги, связанные со старыми глобально установленными сценариями create-response-app. Тогда хорошей идеей будет очистить кэш npm, чтобы убедиться, что вы не используете старые кэшированные версии create-реакции-приложения. Наконец создать новый reactjs приложение с @latestопцией , как так: npx create-react-app@latest. В этом вопросе было много путаницы, когда шаблон не создавался при использовании npx create-реагировать-приложение. Если вы выполните шаги, которые я изложил выше (1-6), то я надеюсь, что вы добьетесь успеха.

п.с.

Если бы я захотел создать приложение реагирования в каталоге с именем client, я бы набрал в терминале следующую команду:

npx creacte-react-app@latest ./client

Удачи.

DevStormUK
источник
9

Все варианты не работали для меня на MacOS. То, что сработало, было следующими 3 шагами:

  1. Удалить узел из: / usr / local / bin /

тогда

  1. установить узел заново: https://nodejs.org/en/

тогда

  1. Установите реакцию: npx создать-реагировать-приложение мое приложение следуйте: https://create-react-app.dev/
nroy
источник
Да, это правильно - тогда проверьте, установлен ли он по-прежнему: $act-create-app --version. Если версия все еще существует, возможно, вам придется удалить ее вручную. В моем случае это осталось ~ / .nvm / Versions / Node / <версия узла> / lib / node_modules, так что вы должны в этой папке
запустить
9

Так что я прошел все шаги здесь, но не помог.

TLDR; запуститьnpx --ignore-existing create-react-app

Я на Mac с Mojave 10.15.2

CRA не был установлен глобально - не нашел его /usr/local/lib/node_modulesили/usr/local/bin ни того, другого.

Затем я наткнулся на этот комментарий о проблемах CRA GitHub. --ignore-existingПомогал запуск команды с флагом.

Бен С
источник
8

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

работай на меня, попробовав все ответы, надеюсь, что может помочь кому-то в будущем.

Бук Лау
источник
7

Для Linux это работает для меня

sudo npm uninstall -g create-react-app
npx create-react-app my-test-app
coding_Lover
источник
7

TLDR: удалите глобальный пакет с помощью npm uninstall -g create-react-appи создайте новые приложения реакции, используя npx create-react-app app.


вопрос

Вы используете более старую версию, create-react-appкоторую вы установили глобально, используя npm. 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. Если у вас возникли проблемы с его удалением, у вас может быть несколько версий узла / npm на вашем компьютере (из нескольких установок или потому, что вы используете менеджер версий узла, например nvm). Это отдельная проблема, которую я не буду здесь решать, но в этом ответе есть некоторая информация .

Быстрый ядерный подход заключается в принудительном удалении it ( rm -rf) на пути, который which create-react-appвозвращается.


дополнение

Глобальные пакеты npm и npxкоманда

$ NPM_PACKAGE_NAME всегда будет использовать глобально установленную версию пакета, независимо от того, в каком каталоге вы находитесь.

$ npx NPM_PACKAGE_NAME будет использовать первую версию пакета, которую он найдет при поиске из текущего каталога в корень:

  • Если у вас есть пакет в вашем текущем каталоге, он будет использовать его.
  • Иначе, если у вас есть пакет в каталоге, который является родительским для вашего текущего каталога, он будет использовать первый найденный пакет.
  • Иначе, если у вас есть пакет, установленный глобально, он будет использовать его.
  • Иначе, если у вас нет пакета вообще, он временно установит его, будет использовать, а затем откажется от него. - это лучший способ убедиться, что пакет обновлен .

Больше информации о npx можно найти в этом ответе .

Использование npxсcreate-react-app

create-react-appимеет некоторые специальные команды / псевдонимы для создания приложения реакции (вместо npx), которые специфичны для этого пакета ( yarn create react-app, npm init react-app), но npx create-react-appбудут работать так же, как и с другими пакетами.

yarnпротив npmглобальных установок

Yarn хранит глобальные установки в папке, отличной от той npm, которая yarn create react-appдолжна работать немедленно, не удаляя глобальный пакет npm (что касается пряжи, пакет не был установлен).

Это лишь временное решение, так как вам нужно помнить, что при использовании Create React App всегда следует использовать пряжу вместо npm.

JBallin
источник
5

Это решило мою проблему

шаги:

1.Удалите приложение create-реакции

npm uninstall -g create-react-app

2. Теперь просто используйте

npx create-react-app my-app

это автоматически создаст шаблон для вас.

Ари Судхан
источник
5

Эта проблема не решается, как это, проблема в разных экземплярах узла, попробуйте удалить глобально create-реагировать-приложение, а затем удалить node_modules и package-lock.json от вашего пользователя root

Луис Менесес
источник
5

Это работает для меня!

1) npm uninstall -g create-react-app

2) npm install -g create-react-app

3) npx create-react-app app_name

Если у вас есть какие-либо ранее установленные create-react-appглобально через npm install -g create-react-app, лучше удалить его с помощьюnpm uninstall -g create-react-app

Лахиру Амаратхунг
источник
3

Сначала удалите приложение create-реагировать

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-реагировать-приложение. Обратите внимание, что глобальные установки create-реагировать-приложение больше не поддерживаются.

Это может произойти из-за наличных. Итак, следующий запуск

npm cache clean --force 

тогда беги

npm cache verify

Теперь все понятно. Теперь беги

yarn create react-app my-app или npx create-react-app my-app

Теперь вы получите то, что ожидали!

Сасмитха Дасанаяка
источник
3

Я исправил эту проблему на Mac , удалив create-react-appиз глобальной библиотеки npm, вот что я сказал, просто попробуйте сделать, вам также нужно сделать sudo:

sudo npm uninstall -g create-react-app

Тогда просто запустите:

npx create-react-app my-app-name

Теперь все должно быть хорошо и получить структуру папок, как показано ниже:

шаблон не предоставлен с помощью приложения create response

Алиреза
источник
1
Я пробовал все эти написанные выше методы на Linux Mint 19 (система на основе Ubuntu). Ничего не помогло, но это сделало это. sudo npm uninstall -g create-react-app
Виктор
3

Используя команду npm uninstall -g create-react-app не работает для меня.

Но это сработало:

yarn global remove create-react-app

а потом:

npx create-react-app my-app

Картич Рао
источник
Это сработало для меня, я попробовал все методы, включая ручное удаление из / usr / local / bin
manjs
3

Эта работа для меня:

Давайте удалим create-реагировать-приложение глобально с помощью этой команды:

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
шивлал кумават
источник
2

Такая странная проблема, потому что вчера у меня это сработало, а сегодня утром я столкнулся с той же ошибкой. На основе замечаний к выпуску в шаблоны поддержки была добавлена ​​новая функция, поэтому похоже, что в командной строке изменилось несколько частей (например, --typescriptустаревший в пользу использования --template typescript)

Мне удалось заставить все это работать следующим образом:

  1. Удалите глобальное приложение create-реагировать npm uninstall create-react-app -g.
  2. Проверьте кэш npm npm cache verify.
  3. Закрыть терминал. Я использую терминал Mac, если с помощью IDE, возможно, закройте и снова откройте.
  4. Снова откройте терминал, перейдите в нужное место и запустите create-Reaction-app через npx, используя новые соглашения о шаблонах команд. Чтобы заставить его работать, я использовал набор текста my-app с сайта документации для обеспечения согласованности:npx create-react-app my-app --template typescript

Если это работает, вы должны увидеть несколько установок: одну для реагирующих скриптов и одну для шаблона. Сообщение об ошибке также больше не должно появляться.

Райан Маккормик
источник
2

npm uninstall -g create-react-app может быть ответом в некоторых случаях, но не в моем.

Вы должны вручную удалить ваше приложение create-реагировать на приложение, расположенное в ~/.node/bin/или /usr/bin/(просто введите which create-react-appи удалите его из тех мест, которые вы видели, используя rm -rf), затем просто запуститеnpm i -g create-react-app .

После этого create-react-appбудет работать правильно.

Эндрю
источник
2

Это сработало для меня 1.Первый глобальный деинсталляция create-реагировать на приложение с помощью этой команды:

npm uninstall -g create-react-app

Если у вас все еще есть предыдущая установка, пожалуйста, полностью удалите папку под названием мое приложение (убедитесь, что ни одна программа не использует эту папку, включая ваш терминал или приглашение cmd)

2. затем в каталоге вашего проекта:

npm install create-react-app@latest

3.finally:

npx create-react-app my-app
Амила Вирасингхе
источник
1

После использования этой команды:

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 
Helen_CEE
источник
0

Для Windows 10 мне пришлось вручную удалить некоторые папки в кеш-памяти, мой путь был примерно таким, C:\Users\username\AppData\Local\Yarn\Cache\v1а папки, которые мне пришлось удалить, были что-то вродеnpm-create-react-app-1.0.0-1234567890abcdef

dadiaar
источник
0

У меня была такая же проблема, и я установил «create-реагировать-приложение» глобально на моей машине. Есть ошибка:

«Шаблон не был предоставлен. Вероятно, это связано с тем, что вы используете устаревшую версию create-реагировать на приложение. Обратите внимание, что глобальные установки create-реагировать на приложение больше не поддерживаются».

Затем я удалил предыдущую установку с помощью этой команды.

npm удалить -g создать-реагировать-приложение

Затем установите новое приложение реакции.

npx создать-реагировать-приложение новое-приложение

akshay_sushir
источник
0

Попробуйте запустить свой терминал от имени администратора. У меня возникла та же проблема, и ничто не помогло, кроме открытия терминала от имени администратора и последующего создания приложения npx create-Reaction-app yourAppName

Мартинас Гекас
источник