Ubuntu dağıtımlarından birine Node.js yukledikten sonra, npm ile yapılan -g (global) yuklemelerde, yukleme sonrası cağırmalarda "command not found" hatası alabilirsiniz.
Bunun bircok sebebi olmakla beraber, en temel sebebi Node ya da npm klasotrlerinin PATH kayıtlarının olmamasıdır. Ya da Node.js'in yanlış yuklenmesidir.
Surprizbozan: NPM kurulumu icin deneyip onerdiğim yol: Yukleme:
Bash:Panoya kopyala
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
Guncelleme:
Bash:Panoya kopyala
sudo npm cache clean -f sudo npm install -g n sudo n stable sudo n latest #Yeni PATH'i duzeltmek icin. sudo apt-get install --reinstall nodejs-legacy # /usr/bin/node -> /usr/locale/bin/node #Yeni Node'u kullanmak icin Terminal'i acıp kapatmanız gereklidir.
Bu hatadan once ya da yanlış yuklemelerde, EACCES hatası da cokca alınır. Cozumu:
Bash:Panoya kopyala
mkdir ~/.npm-global npm config set prefix '~/.npm-global' export PATH=~/.npm-global/bin:$PATH source ~/.profile
Ancak EACCES hatası cozumu sonrası başka bir hata daha cıkar. npm icin "npm-global" yolunu oluşturduktan sonra, bu hata ile karşılaşma ihtimaliniz cok yuksek.
Cozum ise PATH'e "~/.npm-global/bin" eklemek:
Bash:Panoya kopyala
export PATH=$PATH:~/.npm-global/bin
Fakat export komutunu her terminal actığınızda girmeniz gerekecek. Cunku PATH'te yaptığınız değişiklikler resetleniyor olacak. Bu durumdan kurtulmanın yolu da cok kolay.
"gedit ~/.bashrc" ile bashrc'yi acın, en alt satıra gidin ve bir onceki kodu ekleyin:
Bash:Panoya kopyala
export PATH=$PATH:~/.npm-global/bin export PATH
Not: npm'in global prefixini bulmak icin:
Bash:Panoya kopyala
npm config get prefix
Linux ve Node.js kullanmak cok cok karmaşık. Ek olarak, npm ile yukleme yaparken sakın sudo kullanmayın yoksa boyuna erişim hatası alırsınız. npm ile global yuklemeleri Sudo ile yapmak zorunda kalıyorsanız, Node.js ya da npm yanlış yuklenmiş demektir.
Ayrıca, Node.js'i PPA ile değil, apt ile indirip kurun. Sonrasında guncelleme yapın. PPA ile kurulan surumlerde, PATH ve izin hataları nedense cok oluyor.
Son olarak, Node.js kutuphaneleriyle Linux dağıtımlarında uğraşmak oldukca 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 cile.
Aman dikkat.