NPX Nedir?

Aykut Kardaş
2 min readDec 22, 2020
Photo by Rich Tervet on Unsplash

NPM sadece bir paket yöneticisidir. Paketleri yüklemek, kaldırmak ve güncellemek için kullanırız. NodeJS ile CLI uygulamaları oluşturmaya başladığımızda bazı sorunlar ortaya çıktı.

NPM de kullanacağımız CLI uygulamalarını global olarak bilgisayarımıza yüklememiz gerekiyordu. Bu da dizinlerde yazma izinleri ya da aynı paketin birden fazla versiyonunu kullanamama gibi bazen bazı sorunlara neden oluyordu. Ya da bir CLI uygulamasını hızlıca kullanabilmenin yanında zahmetli kalıyordu.

v5.2.0 sürümü ile birlikte NPM npx adında bir aracı duyurdu. Bu araç bir CLI uygulamasının bilgisayarımızda global olarak kurulu olsun ya da olmasın kullanılabilmesini sağlıyor.

Örneğin v5.2.0 sürümünden önce create-react-app CLI uygulamasıyla bir proje oluşturmak için önce bu paketi global olarak kurmak ve daha sonra çalıştırmak gerekiyordu.

Fakat npx ile birlikte artık bir CLI uygulamasını kalıcı olarak kurmadanda kullanabiliyoruz.

Ayrıca o an ihtiyacımız olan spesifik bir versiyon ile çalışabiliyoruz.

Bu yönüyle farklı node bağımlılığı olan projelerde (nvm — Node Version Manager) gibi araçlardan kaçınmamıza olanak sağlıyor.

npx komutu çalıştırıldığında belirtilen paketi global olarak kurulmuş paketler arasında arar. Eğer daha önceden yüklenmiş bir paketse lokalden kullanarak hızlıca çalıştırır. Fakat yüklenmemiş bir paketi kullanmak istersek, önce paketin dosyalarını geçici olarak yüklemek için bekletecek daha sonra komutu çalıştıracaktır.

Ayrıca npx ‘in bir şeyleri çalıştırma gücü npm paketleri ile sınırlı değildir. Doğrudan bir url aracılığıyla Github Gist üzerindeki rastgele bir kod parçacığını çalıştırabilirsiniz.

https://gist.github.com/zkat/4bc19503fe9e9309e2bfaa2c58074d32

Fakat bu serbestlik, çalıştırdığımız kodun güvenilirliği hakkında ekstra dikkat gerektirir.

Happy Coding!

--

--