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

Шаги для репликации:

Ubuntu 16.04 ubuntu (x86-64)

sudo apt-get updatesudo apt-get install nodejssudo apt-get install npm

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

sudo apt-get purge --auto-remove nodejs

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

Каков наилучший способ "отменить" установку nodejs и npm?

Reading package lists... DoneBuilding dependency tree       Reading state information... DoneThe 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... DoneBuilding dependency tree       Reading state information... DoneThe 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-docUse '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]

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

sudo apt-get purge nodejs

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

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

sudo apt-get purge --auto-remove nodejs

это, по сути, делает:

sudo apt-get purge nodejssudo apt-get autoremove

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

Так что в этом контексте совершенно нормально запускать:

sudo apt-get purge --auto-remove nodejs

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

sudo apt-get purge nodejs

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

sudo apt-get autoremove

Чтобы удалить node 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

Я опубликовал процедуру удаления NodeJS в своем блоге: Поддержка AMCOS IT для Windows и Linux: Для полного удаления node js из 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. Удалите любой файл узла или каталог из /usr/local/bin с помощью следующей команды.

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

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 с помощью Node Version Manager(NVM). Это избавило меня от головной боли. Потому что вы можете установить nodejs и npm без sudo, используя nvm.

Чтобы вручную удалить 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 каталог, если он существует.

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

Я столкнулся с этой проблемой, когда работал над Ubuntu 20.04 машина с Nodejs.

Что касается меня, мне пришлось выполнить следующие команды, чтобы удалить nodejs и все его зависимости.

Это делается для удаления nodejs и его зависимостей:

sudo apt-get purge nodejs

Это делается для удаления любых зависимостей, которые все еще остаются после удаления nodejs

sudo apt-get autoremove

Это делается для удаления репозитория nodejs из /etc/apt/sources.list.d каталог:

sudo rm -rf /etc/apt/sources.list.d/nodesource.list*

Обновите список репозиториев пакетов:

sudo apt-get update

Подтвердите, доступен ли исполняемый файл узла на вашем компьютере:

which node

Это все.

Я надеюсь, что это поможет

Возможно, много посторонних пакетов из "автозапуска`. Что происходит, когда вы просто запускаете “sudo apt-get purge nodejs”?

Как насчет того, чтобы попробовать node.js - How can I completely uninstall nodejs, npm and node in Ubuntu - Stack Overflow ?

@heemayl - добавил выходные данные в сообщение и просто продолжил этот подход.