如何从 Ubuntu 16.04 中删除 nodejs?

use*_*287 80 uninstall apt

复制步骤:

Ubuntu 16.04 xenial (x86-64)

sudo apt-get update
sudo apt-get install nodejs
sudo apt-get install npm
Run Code Online (Sandbox Code Playgroud)

我想卸载nodejs并且npm已经看到一些帖子表明这是最常见的方式:

sudo apt-get purge --auto-remove nodejs
Run Code Online (Sandbox Code Playgroud)

然而,这会产生一个提示,它似乎引用了依赖项,如果删除它们,听起来会导致问题。

什么是“撤销”的最佳方式安装的nodejsnpm

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]
Run Code Online (Sandbox Code Playgroud)

编辑:

这是来自的输出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]
Run Code Online (Sandbox Code Playgroud)

hee*_*ayl 118

从输出中可以看出:

sudo apt-get purge nodejs
Run Code Online (Sandbox Code Playgroud)

它只是删除node相关包,即相关包,仅此而已。

另一方面,当你这样做时:

sudo apt-get purge --auto-remove nodejs
Run Code Online (Sandbox Code Playgroud)

它本质上是在做:

sudo apt-get purge nodejs
sudo apt-get autoremove
Run Code Online (Sandbox Code Playgroud)

和去除的gyplinux-headers-4.4.0-18-generic等包实际上是由触发的autoremove,因为他们是一个安装的依赖,不再受任何已安装的程序包所需,大概是因为主包已被删除。

所以在这种情况下运行完全没问题:

sudo apt-get purge --auto-remove nodejs
Run Code Online (Sandbox Code Playgroud)

如果你太偏执,你可以分两步完成:第一purge nodejs

sudo apt-get purge nodejs
Run Code Online (Sandbox Code Playgroud)

然后删除孤立依赖项(到目前为止,如果有的话):

sudo apt-get autoremove
Run Code Online (Sandbox Code Playgroud)


小智 20

要从 Ubuntu 中删除 node js、npm 和 node_modules,您还需要删除位于 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:从 Ubuntu 完全卸载 node js

  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
    
    Run Code Online (Sandbox Code Playgroud)
  2. 借助以下命令从 /usr/local/lib 中删除 node 或 node_modules 目录。

    sudo rm -rf /usr/local/lib/node*
    
    Run Code Online (Sandbox Code Playgroud)
  3. 借助以下命令从 /usr/local/include 中删除 node 或 node_modules 目录。

    sudo rm -rf /usr/local/include/node*
    
    Run Code Online (Sandbox Code Playgroud)
  4. 借助以下命令从 /usr/local/bin 中删除任何节点文件或目录。

    sudo rm -rf /usr/local/bin/node*
    
    Run Code Online (Sandbox Code Playgroud)
  5. 转到主目录并删除任何节点或 node_modules 目录(如果存在)。

  • 这很有帮助 - 即使在“清除”命令之后,即使在重新启动之后,仍然安装了这些仍然遗留并像 node/npm 一样运行的二进制文件等等。只有在删除二进制文件后,才能完成完全卸载。 (3认同)

小智 10

sudo apt-get remove nodejs

sudo apt-get remove npm

然后转到/etc/apt/sources.list.d并删除任何节点列表(如果有)。然后做一个

sudo apt-get update

检查主文件夹中的任何 .npm 或 .node 文件夹并删除它们。

如果你输入

which node

你可以看到节点的位置。尝试which nodejswhich npm太。

我建议使用节点版本管理器(NVM)安装节点。这为我节省了很多头痛。因为您可以使用 nvm 在没有 sudo 的情况下安装 nodejs 和 npm。


小智 5

要手动删除nodejsnpmnode_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      
    
    Run Code Online (Sandbox Code Playgroud)
  2. 在以下命令的帮助下删除nodenode_modules目录/usr/local/lib

     sudo rm -rf /usr/local/lib/node*                                                                                 
    
    Run Code Online (Sandbox Code Playgroud)
  3. 在以下命令的帮助下删除nodenode_modules目录/usr/local/include

     sudo rm -rf /usr/local/include/node*                                                                         
    
    Run Code Online (Sandbox Code Playgroud)
  4. 借助以下命令删除任何node文件或目录/usr/local/bin

     sudo rm -rf /usr/local/bin/node*                                                                                
    
    Run Code Online (Sandbox Code Playgroud)
  5. 转到您的主目录并删除任何nodenode_modules目录(如果存在)。

现在完成了。


Pro*_*ton 5

我在使用Nodejs在Ubuntu 20.04机器上工作时遇到了这个挑战。

对我来说,我必须运行以下命令来删除 Nodejs 及其所有依赖项。

这是为了删除 nodejs 及其依赖项:

sudo apt-get purge nodejs
Run Code Online (Sandbox Code Playgroud)

这是为了删除删除 Nodejs 后仍然留下的任何依赖项

sudo apt-get autoremove
Run Code Online (Sandbox Code Playgroud)

这是从目录中删除nodejs存储库/etc/apt/sources.list.d

sudo rm -rf /etc/apt/sources.list.d/nodesource.list*
Run Code Online (Sandbox Code Playgroud)

更新您的包存储库列表:

sudo apt-get update
Run Code Online (Sandbox Code Playgroud)

确认节点可执行文件在您的计算机中是否仍然可用:

which node
Run Code Online (Sandbox Code Playgroud)

就这样。

我希望这有帮助