Как удалить nodejs из Ubuntu 16.04?

43

Шаги для тиражирования:

Ubuntu 16.04 xenial (x86-64)

sudo apt-get update
sudo apt-get install nodejs
sudo apt-get install npm

Я хочу удалить nodejsи npmвидел несколько сообщений, которые предлагают это наиболее распространенный способ:

sudo apt-get purge --auto-remove nodejs

Однако это приводит к появлению приглашения, которое, по-видимому, ссылается на зависимости, которые, если они были удалены, звучат так, как будто они вызовут проблемы.

Каков наилучший способ отменить установку nodejsи 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]

Редактировать:

Это вывод из 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]
user1063287
источник
1
Возможно много посторонних пакетов из autoremove. Что происходит, когда ты просто бежишь sudo apt-get purge nodejs?
Heemayl
Как насчет того, чтобы попробовать stackoverflow.com/a/33947181/486919 ?
edwinksl
@heemayl - добавил вывод в пост и просто продолжил этот подход.
user1063287

Ответы:

63

Как видно из вывода:

sudo apt-get purge nodejs

это только удаление nodeсвязанных пакетов, то есть соответствующих пакетов, и ничего более.

С другой стороны, когда вы делаете:

sudo apt-get purge --auto-remove nodejs

это обязательно делает:

sudo apt-get purge nodejs
sudo apt-get autoremove

и удаление пакетов gyp, и linux-headers-4.4.0-18-genericт. д. фактически инициируется тем, autoremoveчто они были установлены как зависимости и больше не нужны ни одному установленному пакету, предположительно потому, что основной пакет был удален.

Так что в этом контексте прекрасно работать:

sudo apt-get purge --auto-remove nodejs

Если вы слишком параноик, вы можете сделать это в два этапа: во-первых purge nodejs:

sudo apt-get purge nodejs

а затем удалите потерянные зависимости (до сих пор, если есть):

sudo apt-get autoremove
heemayl
источник
8

Чтобы удалить узлы js, npm и node_modules из Ubuntu, вам также необходимо удалить контейнеры, которые находятся в разных местах в Ubuntu. Это может быть как:

/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

Я сделал это успешно. Итак, я делюсь всей процедурой

Вам необходимо выполнить действия, описанные в http://amcositsupport.blogspot.in/2016/07/to-completely-uninstall-node-js-from.html.

Амит Малик
источник
2
Добро пожаловать в Спросите Ubuntu! Хотя это может теоретически ответить на вопрос, было бы предпочтительным включить здесь основные части ответа и предоставить ссылку для справки.
Анвар
Это было полезно - даже после purgeкоманд, даже после перезапуска, эти двоичные файлы, которые все еще оставались и работали как узел / npm, все еще были установлены и все. Только после удаления двоичных файлов полная деинсталляция завершена.
Nikhil VJ
4

sudo apt-get remove nodejs

sudo apt-get remove npm

Затем перейдите /etc/apt/sources.list.dи удалите любой список узлов, если у вас есть. Тогда сделай

sudo apt-get update

Проверьте наличие папок .npm или .node в вашей домашней папке и удалите их.

Если вы печатаете

which node

Вы можете увидеть расположение узла. Попробуй which nodejsи which npmтоже.

Я бы порекомендовал установить узел с помощью Node Version Manager (NVM). Это избавило меня от головной боли. Потому что вы можете установить nodejs и npm без sudo, используя nvm.

user779311
источник
0

Чтобы удалить вручную nodejs, npmи node_modulesс Ubuntu, вам необходимо выполнить следующие шаги:

  1. Прежде всего вам необходимо запустить следующую команду из терминала sudo:

    sudo rm -rf /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      
    
  2. Удалить nodeили node_modulesкаталоги из /usr/local/libс помощью следующей команды:

    sudo rm -rf /usr/local/lib/node*                                                                                 
    
  3. Удалить nodeили node_modulesкаталоги из /usr/local/includeс помощью следующей команды:

    sudo rm -rf /usr/local/include/node*                                                                         
    
  4. Удалите любой nodeфайл или каталог /usr/local/binс помощью следующей команды:

    sudo rm -rf /usr/local/bin/node*                                                                                
    
  5. Перейдите в свой домашний каталог и удалите любой nodeили node_modulesкаталог, если он существует.

Теперь это сделано.

Сила Косгей
источник