Ulaşım
- Adres:Batıkent Mh. 8910 Sk. 6. Etap 1H No: 18 Yeni Toki Eyyübiye / Şanlıurfa (Yeni Alım Satım Karşısı)
- Telefon:0 (545) 528 88 93
- eMail: info@alestaweb.com
npm install yaparken "EACCES: permission denied" hatası mı alıyorsunuz? Bu sinir bozucu hata, Node.js geliştiricilerinin en sık karşılaştığı sorunlardan biri! Alesta Web olarak bu rehberde npm EACCES permission denied hatasını (npm permission error) 5 farklı yöntemle kalıcı olarak çözmenizi gösteriyoruz.
Terminal'de şöyle bir hata mı görüyorsunuz?
npm ERR! Error: EACCES: permission denied, access '/usr/local/lib/node_modules'
npm ERR! { [Error: EACCES: permission denied, access '/usr/local/lib/node_modules']
npm ERR! errno: -13,
npm ERR! code: 'EACCES',
npm ERR! syscall: 'access',
npm ERR! path: '/usr/local/lib/node_modules' }
npm ERR! Please try running this command again as root/Administrator.
Alesta Web olarak bu hatayı yüzlerce kez gördük. EACCES (Error ACCESs), Linux/macOS sistemlerde "erişim izni yok" anlamına geliyor. npm, global paket kurulumu yaparken yazma izni olmayan bir dizine erişmeye çalışıyor.
sudo npm install -g kullanmak geçici bir çözümdür ve güvenlik riskleri taşır! Bu rehberde kalıcı ve güvenli çözümleri göstereceğiz.
EACCES hatası şu durumlarda ortaya çıkar:
/usr/local/lib/node_modules root kullanıcıya ait~/.npm dizininde izin sorunları# npm global dizininin sahipliğini kontrol et
ls -la /usr/local/lib/node_modules
# npm config dizinini gör
npm config get prefix
# npm cache dizininin sahipliğini kontrol et
ls -la ~/.npm
Alesta Web olarak en çok önerdiğimiz yöntem bu! nvm (Node Version Manager) ile Node.js'i kullanıcı dizininize kurarsınız ve hiçbir izin sorunu yaşamazsınız.
# Linux/macOS için
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash
# veya wget ile
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash
# Terminal'i yeniden başlat veya:
source ~/.bashrc
# veya zsh kullanıyorsanız:
source ~/.zshrc
# En son LTS sürümünü kur
nvm install --lts
# Veya belirli bir versiyon
nvm install 22
# Varsayılan olarak ayarla
nvm alias default 22
# Kontrol et
node -v
npm -v
# Artık sudo gerekmeden çalışır!
npm install -g typescript
npm install -g @angular/cli
npm install -g create-react-app
# Hiç EACCES hatası yok! No more permission errors!
nvm kullanmak istemiyorsanız, npm'in global paket dizinini değiştirebilirsiniz:
# Kullanıcı klasörünüzde yeni npm dizini
mkdir ~/.npm-global
# npm'e yeni dizini göster
npm config set prefix '~/.npm-global'
# ~/.bashrc veya ~/.zshrc dosyasına ekle:
echo 'export PATH=~/.npm-global/bin:$PATH' >> ~/.bashrc
# Değişiklikleri uygula
source ~/.bashrc
# Artık sudo gerekmez!
npm install -g nodemon
# Kurulumu kontrol et
which nodemon
# Çıktı: ~/.npm-global/bin/nodemon
Bu yöntem sisteminizde tek bir Node.js versiyonu kullanıyorsanız idealdir. Birden fazla versiyon gerekiyorsa nvm kullanın.
Mevcut npm dizininin sahipliğini kullanıcınıza aktarabilirsiniz. Bu yöntem hızlıdır ama dikkatli olun!
# Mevcut kullanıcıya sahiplik ver
sudo chown -R $(whoami) /usr/local/lib/node_modules
# npm prefix dizinini de değiştir
sudo chown -R $(whoami) $(npm config get prefix)/{lib/node_modules,bin,share}
# npm cache dizinini düzelt
sudo chown -R $(whoami) ~/.npm
Bu yöntem sistem dizinlerini değiştirir. Çok kullanıcılı sistemlerde (shared server) sorun yaratabilir. Alesta Web olarak bu yöntemi sadece kişisel bilgisayarlarda öneriyoruz.
# Bazen sadece cache sorunu vardır
sudo chown -R $(whoami) ~/.npm
npm cache clean --force
Global kurulum yapmadan paketleri çalıştırmak için npx kullanabilirsiniz:
# Global kurulum yerine npx kullan
# Eski yöntem (global kurulum gerekli):
npm install -g create-react-app
create-react-app my-app
# Yeni yöntem (global kurulum gereksiz):
npx create-react-app my-app
# Diğer örnekler:
npx typescript --init
npx eslint --init
npx prettier --write .
Windows'ta EACCES hatası farklı şekilde ortaya çıkar:
# PowerShell'i sağ tık > "Yönetici olarak çalıştır"
# Sonra npm komutunu çalıştır
npm install -g typescript
# npm cache temizle
npm cache clean --force
# AppData klasörünü kontrol et
# C:\Users\KullanıcıAdı\AppData\Roaming\npm
# nvm-windows indir:
# https://github.com/coreybutler/nvm-windows/releases
# Kurulumdan sonra:
nvm install 22
nvm use 22
# Artık izin sorunu yok!
1. Windows Başlat > "Ortam Değişkenleri" ara
2. "Sistem ortam değişkenlerini düzenle" tıkla
3. "Ortam Değişkenleri" butonuna tıkla
4. "Path" değişkenini seç > "Düzenle"
5. npm global dizinini ekle:
C:\Users\KullanıcıAdı\AppData\Roaming\npm
Bu makalede kullanılan bilgiler aşağıdaki güvenilir kaynaklardan derlenmiştir:
Alesta Web olarak tüm çözümleri test ettik ve doğruladık.
Artık npm EACCES: permission denied hatası (npm permission error) geride kaldı! Alesta Web olarak en çok nvm kullanımını öneriyoruz çünkü hem güvenli hem de çok kullanışlı.
Hızlı Özet / Quick Summary:
sudo npm install -g kullanmaktan kaçının! Bu güvenlik riski oluşturur ve gelecekte daha fazla izin sorunu yaratır.
Faydalı Linkler / Useful Links:
© 2026 AlestaWeb - Tüm hakları saklıdır. | npm EACCES Permission Denied Çözüm Rehberi