Kroki do replikacji:
Ubuntu 16.04 xenial (x86-64)
sudo apt-get update
sudo apt-get install nodejs
sudo apt-get install npm
Chcę odinstalować nodejs
i npm
widziałem kilka postów, które sugerują, że jest to najczęstszy sposób:
sudo apt-get purge --auto-remove nodejs
Powoduje to jednak wyświetlenie monitu, który wydaje się odwoływać do zależności, które - gdyby zostały usunięte - brzmiałyby tak, jakby powodowały problemy.
Jaki jest najlepszy sposób na „cofnięcie” instalacji nodejs
i npm
?
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages will be REMOVED:
gyp* libboost-python1.58.0* libjs-inherits* libjs-node-uuid*
libjs-underscore* libssl-dev* libssl-doc* libuv1* libuv1-dev*
linux-headers-4.4.0-18* linux-headers-4.4.0-18-generic*
linux-headers-4.4.0-21* linux-headers-4.4.0-21-generic*
linux-image-4.4.0-18-generic* linux-image-4.4.0-21-generic*
linux-image-extra-4.4.0-18-generic* linux-image-extra-4.4.0-21-generic*
linux-signed-image-4.4.0-18-generic* linux-signed-image-4.4.0-21-generic*
node-abbrev* node-ansi* node-ansi-color-table* node-archy* node-async*
node-block-stream* node-combined-stream* node-cookie-jar*
node-delayed-stream* node-forever-agent* node-form-data* node-fstream*
node-fstream-ignore* node-github-url-from-git* node-glob* node-graceful-fs*
node-gyp* node-inherits* node-ini* node-json-stringify-safe* node-lockfile*
node-lru-cache* node-mime* node-minimatch* node-mkdirp* node-mute-stream*
node-node-uuid* node-nopt* node-normalize-package-data* node-npmlog*
node-once* node-osenv* node-qs* node-read* node-read-package-json*
node-request* node-retry* node-rimraf* node-semver* node-sha* node-sigmund*
node-slide* node-tar* node-tunnel-agent* node-underscore* node-which*
nodejs* nodejs-dev* npm* python-configobj* python-pycurl* python-pyexiv2*
python-pyexiv2-doc*
0 to upgrade, 0 to newly install, 72 to remove and 0 not to upgrade.
After this operation, 631 MB disk space will be freed.
Do you want to continue? [Y/n]
Edytować:
To jest wynik z sudo apt-get purge nodejs
:
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages were automatically installed and are no longer required:
gyp libboost-python1.58.0 libjs-inherits libjs-node-uuid libjs-underscore
libssl-dev libssl-doc libuv1 libuv1-dev linux-headers-4.4.0-18
linux-headers-4.4.0-18-generic linux-headers-4.4.0-21
linux-headers-4.4.0-21-generic linux-image-4.4.0-18-generic
linux-image-4.4.0-21-generic linux-image-extra-4.4.0-18-generic
linux-image-extra-4.4.0-21-generic linux-signed-image-4.4.0-18-generic
linux-signed-image-4.4.0-21-generic python-configobj python-pycurl
python-pyexiv2 python-pyexiv2-doc
Use 'sudo apt autoremove' to remove them.
The following packages will be REMOVED:
node-abbrev* node-ansi* node-ansi-color-table* node-archy* node-async*
node-block-stream* node-combined-stream* node-cookie-jar*
node-delayed-stream* node-forever-agent* node-form-data* node-fstream*
node-fstream-ignore* node-github-url-from-git* node-glob* node-graceful-fs*
node-gyp* node-inherits* node-ini* node-json-stringify-safe* node-lockfile*
node-lru-cache* node-mime* node-minimatch* node-mkdirp* node-mute-stream*
node-node-uuid* node-nopt* node-normalize-package-data* node-npmlog*
node-once* node-osenv* node-qs* node-read* node-read-package-json*
node-request* node-retry* node-rimraf* node-semver* node-sha* node-sigmund*
node-slide* node-tar* node-tunnel-agent* node-underscore* node-which*
nodejs* nodejs-dev* npm*
0 to upgrade, 0 to newly install, 49 to remove and 0 not to upgrade.
After this operation, 27.6 MB disk space will be freed.
Do you want to continue? [Y/n]
autoremove
. Co się stanie, gdy po prostu biegnieszsudo apt-get purge nodejs
?Odpowiedzi:
Jak wynika z wyników:
usuwa tylko
node
powiązane pakiety, tj. odpowiednie pakiety, nic więcej.Z drugiej strony, kiedy to zrobisz:
to koniecznie robi:
i usuwania
gyp
,linux-headers-4.4.0-18-generic
itp pakiety są rzeczywiście wywołane przezautoremove
co zostały one zainstalowane jako zależności i nie są już potrzebne przez dowolnego zainstalowanego pakietu, przypuszczalnie dlatego, że główny pakiet został usunięty.Dlatego w tym kontekście jest całkowicie w porządku:
Jeśli jesteś zbyt paranoikiem, możesz to zrobić w dwóch krokach: po pierwsze
purge nodejs
:a następnie usuń zależności sieroce (do tej pory, jeśli istnieją):
źródło
Aby usunąć węzły js, npm i node_modules z Ubuntu, musisz usunąć również pojemniki, które znajdują się w różnych lokalizacjach w Ubuntu. Mogą to być:
/usr/local/bin/npm
,/usr/local/share/man/man1/node
,/usr/local/lib/dtrace/node.d
,~/.npm ~/.node-gyp
,/opt/local/bin/node
,opt/local/include/node
,/opt/local/lib/node_modules
Zrobiłem to z powodzeniem. Dlatego dzielę się pełną procedurą
Musisz wykonać czynności opisane w http://amcositsupport.blogspot.in/2016/07/to-completely-uninstall-node-js-from.html
źródło
purge
komendach, nawet po ponownym uruchomieniu, te pliki binarne nadal pozostawały i działały tak, jakby węzeł / npm był nadal zainstalowany i tak dalej. Dopiero po usunięciu plików binarnych pełna dezinstalacja jest zakończona.sudo apt-get remove nodejs
sudo apt-get remove npm
Następnie przejdź do
/etc/apt/sources.list.d
listy węzłów i usuń ją, jeśli masz. Następnie zróbsudo apt-get update
Sprawdź folder .npm lub .node w folderze domowym i usuń je.
Jeśli wpiszesz
which node
możesz zobaczyć lokalizację węzła. Spróbuj
which nodejs
iwhich npm
też.Polecam instalację węzła za pomocą Node Version Manager (NVM). To zaoszczędziło mi dużo bólu głowy. Ponieważ możesz zainstalować nodejs i npm bez sudo za pomocą nvm.
źródło