İçeriğe geç

Global NPM yüklemeleri sonrası “command not found” sorunu ve çözümü

 Ubuntu dağıtımlarından birine Node.js yükledikten sonra, npm ile yapılan -g (global) yüklemelerde, yükleme sonrası çağırmalarda “command not found” hatası alabilirsiniz.

Bunun birçok sebebi olmakla beraber, en temel sebebi Node ya da npm klasötrlerinin PATH kayıtlarının olmamasıdır. Ya da Node.js’in yanlış yüklenmesidir.

Hatalı olan yöntem:
Yükleme:
Bash:
sudo apt update
sudo apt install nodejs

sudo apt install npm # Node.js ile beraber NPM gelmektedir, ama inmezse bu kod kullanılabilir

nodejs -v # Node.js versiyon testi

Güncelleme


Bash:
sudo npm cache clean -f
sudo npm install -g n
sudo n stable

sudo n latest

#Yeni PATH'i düzeltmek için.
sudo apt-get install --reinstall nodejs-legacy # /usr/bin/node -> /usr/locale/bin/node

#Yeni Node'u kullanmak için Terminal'i açıp kapatmanız gereklidir.

Bu hatadan önce ya da yanlış yüklemelerde, EACCES hatası da çokça alınır. Çözümü:

Bash:
mkdir ~/.npm-global

npm config set prefix '~/.npm-global'

export PATH=~/.npm-global/bin:$PATH

source ~/.profile


Ancak EACCES hatası çözümü sonrası başka bir hata daha çıkar. npm için “npm-global” yolunu oluşturduktan sonra, bu hata ile karşılaşma ihtimaliniz çok yüksek.

Çözüm ise PATH’e “~/.npm-global/bin” eklemek:

Bash:
export PATH=$PATH:~/.npm-global/bin


Fakat export komutunu her terminal açtığınızda girmeniz gerekecek. Çünkü PATH’te yaptığınız değişiklikler resetleniyor olacak. Bu durumdan kurtulmanın yolu da çok kolay.

“gedit ~/.bashrc” ile bashrc’yi açın, en alt satıra gidin ve bir önceki kodu ekleyin:

Bash:
export PATH=$PATH:~/.npm-global/bin

export PATH


Not: npm’in global prefixini bulmak için:

Bash:
npm config get prefix


Linux ve Node.js kullanmak çok çok karmaşık. Ek olarak, npm ile yükleme yaparken sakın sudo kullanmayın yoksa boyuna erişim hatası alırsınız. npm ile global yüklemeleri Sudo ile yapmak zorunda kalıyorsanız, Node.js ya da npm yanlış yüklenmiş demektir.

Ayrıca, Node.js’i PPA ile değil, apt ile indirip kurun. Sonrasında güncelleme yapın. PPA ile kurulan sürümlerde, PATH ve izin hataları nedense çok oluyor.

Son olarak, Node.js kütüphaneleriyle Linux dağıtımlarında uğraşmak oldukça zor. Dolayısıyla ne yaptığınıza dikkat edin. 2 kez format atma noktasına geldim zira Node.js yayılabiliyor ve temizlemesi resmen çile.

Aman dikkat.

Tarih:Uncategorized