TLDR: Global paketi kullanarak kaldırın ve kullanarak npm uninstall -g create-react-app
yeni reaksiyon uygulamaları oluşturun npx create-react-app app
.
Konu
create-react-app
Npm kullanarak global olarak yüklediğiniz eski bir sürümünü kullanıyorsunuz. create-react-app
Komut 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-app
veya karşılaştırma create-react-app --version
ile npm view create-react-app
.
Sürümünün react-scripts
güncel olması, uygulamayı ( create-react-app
) önyükleyen paketin sürümüyle ( ) react-scripts
bu durumda kullandığı paketlerin en son sürümlerini alan hiçbir ilgisi yoktur .
Çözüm
create-react-app
Komutu 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 npx
her seferinde paketin en son sürümünü almasıdır ( npx
aşağıda daha fazla ayrıntı ).
create-react-app
Komutun "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-app
geri dönen yolda ( ) onu zorla kaldırmak olacaktır .
ek
Global npm paketleri ve npx
komutu
$ 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ı npx
ilecreate-react-app
create-react-app
, npx
bu pakete ( yarn create react-app
, npm init react-app
) özgü olan ancak npx create-react-app
diğer paketlerle aynı şekilde çalışacak bir reaksiyon uygulaması (yerine ) oluşturmak için bazı özel komutlara / takma adlara sahiptir .
yarn
vs npm
küresel yüklemeler
İplik, global kurulumları farklı bir klasörde saklar npm
, bu yüzden yarn create react-app
global 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.