Nazwa interpretera NodeJS ( node
) na Ubuntu została zmieniona na z nodejs
powodu konfliktu nazw z innym pakietem. Oto co to jest readme. Debian mówi:
Nadrzędna nazwa polecenia interpretera Node.js to „węzeł”. W Debianie komenda interpretera została zmieniona na „nodejs”.
Zrobiono to, aby zapobiec kolizji przestrzeni nazw: inne komendy używają tej samej nazwy w ich górnej części, na przykład ax25-node z pakietu „node”.
Skrypty wywołujące Node.js jako polecenie powłoki muszą zostać zmienione, aby zamiast tego używać polecenia „nodejs”.
Jednak używanie nodejs psuje instalowanie pakietów za pomocą npm
. Instalacja pakietu kończy się niepowodzeniem z powodu następującego błędu:
sh: 1: node: not found npm WARN This failure might be due to the use of legacy binary "node" npm WARN For further explanations, please read /usr/share/doc/nodejs/README.Debian
Jak sprawić, by npm zrozumiał, że nodejs jest już zainstalowany w systemie, ale nazwa interpretera jest inna?
ln -s nodejs node
w/usr/bin
. Ale to trochę hack.