Шаблон не надається за допомогою програми create-react-app


297

Коли я набираю 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.

У 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змінилася б.

Будь-яка ідея, що тут відбувається?


7
Подейкують, що глобальний пакет вже не так гарячий. спробуйте 'npm init react-app my-app'
Тім Вілсон

12
Також оновіть свою установку
Тім Вілсон

11
Дякую - що закінчилося працювати (використовуючи Пряжу), це модернізація 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нарешті знову нормально працювали для мене.
Кай Карвер

Відповіді:


353

Якщо ви раніше встановили 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

20
Я думав, що npm видалить -g create-react-app та npx create-react-app my-app запрацює. Але якось npx все-таки створює проект без шаблону. Чи створено кеш-програму "create-react-app"? Я думав, що встановлення глобальної системи cra буде застарілим. Мені довелося оновити create-react-app -g замість цього, перш ніж використовувати npx.
Робін Вірух

124
якщо після цього все-таки виникає така ж помилка 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

12
Це не гарний підхід ІМХО. чому ми мусимо кожен раз завантажувати та запускати матеріали, а не мати локальну копію? Його трата пропускної здатності і дуже хороший спосіб виконання випадкового коду з Інтернету і одного дня зламаються .... Просто перевстановіть його так, як я зробив npm install create-react-app -gсвоє рішення, означає, що ви зрештою отримаєте цю помилку знову, але люди не повинні використовувати довільний код від веб-сайти і повинні мати можливість зупинитися на певній версії, якщо вони захочуть ....
Родріго Грача

6
нарешті npm uninstall -g create-react-app sudo rm -rf /usr/local/bin/create-react-app npx create-react-app newapp --template typescript
змусили

2
скористайтеся цим, npm list -g --depth=0щоб побачити, чи додається create-react-додаток у ваших встановлених пакетах вузлів. Якщо це так, запустіть його npm uninstall -g create-react-appдля видалення.
Клод Де-Чамбіла

59

1)

npm uninstall -g create-react-app

або

yarn global remove create-react-app

2)

Здається, що виникла помилка, коли створення-реагувати-додаток не видалено належним чином, а використання однієї з нових команд призводить до:

Шаблон не надано. Це можливо, тому що ви використовуєте застарілу версію програми create-react-app.

Після видалення з нього npm uninstall -g create-react-appперевірте, чи все ще є "встановлений" з which create-react-app(Windows where create-react-app:) у вашому командному рядку. Якщо він щось повертає (наприклад, / usr / local / bin / create-react-app ), тоді зробіть arm -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-
react

2
$ echo '#! / bin / sh'> / usr / local / bin / create-react-app $ echo 'echo використовувати пряжу create-react-app замість'> / usr / local / bin / create-react-app $ chmod 0700 / usr / local / bin / create-
Джейсон ФБ

1
У Windows ви можете використовувати команду whereзамістьwhich
Вініцій

41

Хоча тут вже багато відповідей. Я придумав 3 рішення, які застосовував поетапно, коли стикався з цією ситуацією.


Перший крок: З офіційного посібника,

Якщо ви раніше встановили додаток create-react 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

Другий крок (якщо перший не працює):

Іноді це може зберігати caches.then ви можете використовувати ці команди, наведені нижче.

  • 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-react-app ), тоді запустіть це rm -rf /usr/local/bin/create-react-app(папка може змінюватися), щоб видалити вручну. Потім знову встановіть його через npx / npm / пряжу.

NB : Я досягаю успіху на останньому кроці.


2
Це працювало для мене. Дякую.
Обіцяйте Престону

Це працювало для мене на MacOS.
Мисливець

З будь-якої причини npxі npm initне працював, але yarnробив після очищення кешу. Мені потрібно rm -rfбулоcreate-react-app папки. Тож вдячний ТАК.
ZebGir

28

Спочатку видаліть додаток create-react у всьому світі за допомогою цієї команди:

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-template-typecript

Використання :

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-react-app.

Але

yarn create react-app my-app команда працює чудово.



15
  1. npm install -g create-react-app у вашому ПК
  2. створити проект реагування знову за допомогою npx create-react-app my-app

7
Однак рекомендується видалити додаток create-react-app у всьому світі.
Робін Вірух

Помилка повернеться, коли з’явиться нове оновлення цього методу
Хіларі Мвапе

Я думаю, що саме це спричинило помилку в першу чергу глобально встановити додаток create-react
Роберт Стоукс

12

Ці два кроки працювали для мене

1) Деінстальована програма реагування у всьому світі за допомогою цієї команди

npm uninstall -g create-react-app

2) За допомогою цієї команди встановлено react-app у папці проекту

npx create-react-app project-name

10

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

Про це повідомляється на веб-сторінці https://create-react-app.dev/docs/getting-started/ . Для мене це не спрацювало. Натомість мені довелося перевстановити додаток create-react-app у глобальному масштабі.

Мої кроки, щоб вирішити цю проблему:

  1. npm uninstall -g create-react-app
  2. npm install -g create-react-app
  3. npx create-react-app my-app

1
Більше не рекомендується використовувати глобальну установку app-create-app.
Робін Вірух

4
Це правда, однак я не міг знайти іншого способу встановлення шаблону без глобальної установки. Це ніяк не має значення для мого додатка.
Гуллі Хабібі

6
Так, те, що кажуть
Corey Gibson

10

Спершу очистіть кеш-пам'ять, а потім використовуйте пряжу наступним чином:

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

Я сподіваюся, що це допомагає.

EDIT

... ви можете спробувати наступне після того, як я детальніше вивчив цю проблему:

  1. npm uninstall -g create-react-app
  2. yarn global remove create-react-app
  3. which create-react-app - Якщо він щось повертає (наприклад, / usr / local / bin / create-react-app), тоді зробіть rm -rf / usr / local / bin / create-react-app, щоб видалити вручну.
  4. npm cache clean --force
  5. npm cache verify
  6. npx create-react-app@latest

Цими кроками слід видалити встановлені на глобальному рівні створення-реагувати додатки, потім ви вручну видалите старі каталоги, пов’язані зі старими глобально встановленими сценаріями створення-реагування додатків. Тоді хороша ідея очистити кеш-пам'ять npm, щоб не використовувати старі кешовані версії програми create-react-app. Нарешті створити новий reactjs додаток з @latestопцією , як так: npx create-react-app@latest. У цьому питанні було багато плутанини, коли шаблон не створюється при використанні npx create-react-app, якщо ви дотримуєтесь кроків, про які я говорив вище (1-6), то, сподіваюся, ви матимете успіх.

пс

Якби я хотів потім створити додаток реагування в каталозі під назвою клієнт, я б набрав у термінал таку команду:

npx creacte-react-app@latest ./client

Удачі.


9

У мене на MacOS не вдалося виконати всі варіанти. Працювали наступні 3 кроки:

  1. Видаліть вузол з: / usr / local / bin /

тоді

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

тоді

  1. Встановіть react: npx create-react-app my-app follow: https://create-react-app.dev/

Так, це правильно - тоді перевірте, чи все-таки встановлено $ reakct-create-app --version. ЯКЩО існує версія, можливо, доведеться її видалити вручну. У моєму випадку це залишилося ~ / .nvm / версія / вузол / <вузол версії> / Lib / node_modules , так що ви повинні ете -rf реагувати створити-додаток в цій папці
Nelles

9

Тому я пройшов усі кроки тут, але не допоміг.

TLDR; бігатиnpx --ignore-existing create-react-app

Я на Mac с Mojave 10.15.2

CRA не встановлено глобально - не знайшли його в /usr/local/lib/node_modulesабо/usr/local/bin будь-якому іншому.

Потім я натрапив на цей коментар з питань github CRA. Виконання команди з --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

7

TLDR: Видаліть глобальний пакет за допомогою npm uninstall -g create-react-appта генеруйте нові реагуючі програми за допомогою npx create-react-app app.


Проблема

Ви використовуєте старішу версію встановленої create-react-appвами глобально за допомогою npm. Thecreate-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). Це окреме питання, я не звертатимусь сюди, але в цій відповіді є деяка інформація .

Швидким ядерним підходом було б примусово видалити його ( 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буде працювати так само, як і з іншими пакетами.

yarnvs npmглобальні встановлення

Пряжа зберігає глобальні встановлення в іншій папці, ніж npm, ось чомуyarn create react-app б вона працювала негайно, не видаляючи глобальний пакет npm (що стосується пряжі, пакет не встановлений).

Це лише тимчасове рішення, оскільки вам потрібно пам’ятати, що під час створення додатка Create React завжди використовувати пряжу замість npm.


5

Це вирішило мою проблему

Кроки:

1.Установіть додаток create-react

npm uninstall -g create-react-app

2.Зараз просто користуйся

npx create-react-app my-app

це автоматично створить шаблон для u.


5

Ця проблема не вирішується так, проблема полягає в різних примірниках вузла, спробуйте видалити глобально create-react-app, а потім видаліть node_modules та package-lock.json від вашого кореневого користувача


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-react

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 більше не підтримуються.

Це може статися через каси. Тож наступний пробіг

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 lib, це в основному те, що сказано, просто спробуйте це зробити, вам також потрібно зробити sudo:

sudo npm uninstall -g create-react-app

Потім просто запустіть:

npx create-react-app my-app-name

Тепер має бути все добре і отримати структури папок, як показано нижче:

шаблон не надано за допомогою програми створення реагувати


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-react у всьому світі за допомогою цієї команди:

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-react npm uninstall create-react-app -g.
  2. Перевірте кеш-пам'ять npm npm cache verify.
  3. Закрити термінал. Я використовую mac-термінал, якщо за допомогою IDE можливо закрити і знову відкрити.
  4. Відкрийте термінал, перейдіть до потрібного проекту та запустіть create-react-app через npx, використовуючи нові шаблонні команди команд. Щоб змусити його працювати, я скористався моїм додатком машинопису з сайту документації, щоб забезпечити послідовність:npx create-react-app my-app --template typescript

Якщо це працює, вам слід побачити декілька встановлень: одну для react-скриптів та одну для шаблону. Повідомлення про помилку також більше не повинно з’являтися.


2

npm uninstall -g create-react-app може бути відповіддю в деяких випадках, але не в моєму.

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

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


2

Це працювало для мене 1.Перше видаліть create-react-додаток у всьому світі за допомогою цієї команди:

npm uninstall -g create-react-app

Якщо у вас ще є попередня установка, видаліть папку, яку називають моїм додатком, повністю (переконайтесь, що жодна програма не використовує цю папку, включаючи термінал або cmd-promt)

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

npm install create-react-app@latest

3. остаточно:

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 

0

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


0

У мене була така ж проблема, і я встановив "create-react-app" глобально на своїй машині. Виникла помилка:

"Шаблон не надано. Це, ймовірно, ви використовуєте застарілу версію create-react-app. Зауважте, що глобальні встановлення програми create-react більше не підтримуються."

Потім я видалив попередню установку за допомогою цієї команди.

npm uninstall -g create-react-app

Потім встановіть новий додаток реагування.

npx create-react-app new-app


0

Спробуйте запустити свій термінал як адміністратор. У мене виникли ті самі проблеми, і нічого не допомогло, окрім відкриття терміналу як адміністратор, а потім робити npx create-react-app yourAppName

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.