TLDR: Global paketi kullanarak kaldırın ve kullanarak npm uninstall -g create-react-appyeni reaksiyon uygulamaları oluşturun npx create-react-app app.
Konu
create-react-appNpm kullanarak global olarak yüklediğiniz eski bir sürümünü kullanıyorsunuz. create-react-appKomut bu küresel paketi çağırır.
Sen çalıştırarak eski bir sürümünü kullandığını teyit olabilirdi npm outdated -g create-react-appveya karşılaştırma create-react-app --versionile npm view create-react-app.
Sürümünün react-scriptsgüncel olması, uygulamayı ( create-react-app) önyükleyen paketin sürümüyle ( ) react-scriptsbu durumda kullandığı paketlerin en son sürümlerini alan hiçbir ilgisi yoktur .
Çözüm
create-react-appKomutu kullanmaya devam etmek istiyorsanız , global paketi kullanarak güncellemeniz gerekir npm update -g create-react-app. Güncel tutmak için bunu düzenli olarak yapmak isteyeceğinizi unutmayın. Bunu önermediğini fark edeceksiniz create-react-app(kurulumunuzdaki günlüklerde belirtilmiştir).
Daha iyi bir yaklaşım, genel yüklemeyi tamamen silmek ( npm uninstall -g create-react-app) ve bunun yerine npxher seferinde paketin en son sürümünü almasıdır ( npxaşağıda daha fazla ayrıntı ).
create-react-appKomutun "bulunamadığından" emin olmak için kullanmaya çalışarak genel olarak kaldırıldığını onaylamanız gerekir .
Kaldırma ile ilgili sorunlar mı yaşıyorsunuz?
Nerede kurulduğunu kullanarak hata ayıklayabilirsiniz which create-react-app. Kaldırma işlemiyle ilgili sorun yaşıyorsanız, makinenizde birden çok düğüm / npm sürümüne sahip olabilirsiniz (birden çok yüklemeden veya gibi bir düğüm sürüm yöneticisi kullandığınız için nvm). Bu, burada ele almayacağım ayrı bir konudur, ancak bu cevapta bazı bilgiler var .
Hızlı bir nükleer yaklaşım rm -rf, which create-react-appgeri dönen yolda ( ) onu zorla kaldırmak olacaktır .
ek
Global npm paketleri ve npxkomutu
$ NPM_PACKAGE_NAME hangi dizinde olduğunuzdan bağımsız olarak her zaman paketin global olarak yüklenmiş sürümünü kullanır.
$ npx NPM_PACKAGE_NAME geçerli dizinden köke arama yaparken bulduğu paketin ilk sürümünü kullanır:
- Geçerli dizininizde paket varsa, bunu kullanır.
- Diğer bir deyişle, paketi geçerli dizininizin üst öğesi olan bir dizinde varsa, bulduğu ilk dizini kullanır.
- Eğer paketi global olarak yüklediyseniz, bunu kullanır.
- Else paketiniz yoksa, geçici olarak kuracak, kullanacak ve daha sonra atacaktır. - paketin güncel olmasını sağlamanın en iyi yolu budur .
Npx hakkında daha fazla bilgiyi bu cevapta bulabilirsiniz .
Kullanımı npxilecreate-react-app
create-react-app, npxbu pakete ( yarn create react-app, npm init react-app) özgü olan ancak npx create-react-appdiğer paketlerle aynı şekilde çalışacak bir reaksiyon uygulaması (yerine ) oluşturmak için bazı özel komutlara / takma adlara sahiptir .
yarnvs npmküresel yüklemeler
İplik, global kurulumları farklı bir klasörde saklar npm, bu yüzden yarn create react-appglobal npm paketini kaldırmadan hemen işe yarayacaktır (iplik söz konusu olduğunda, paket kurulmamıştır).
Bu sadece geçici bir çözümdür, çünkü Create React App kullanırken her zaman npm yerine iplik kullanmayı hatırlamanız gerekir.