如何从 Ubuntu 16.04 中删除 nodejs?

如何从 Ubuntu 16.04 中删除 nodejs?

复制步骤:

Ubuntu 16.04 xenial(x86-64)

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

我想卸载nodejsnpm看到几篇帖子表明这是最常见的方式:

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]

答案1

从输出结果可以看出:

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

答案2

要从 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/nodeopt/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
    
  2. 使用以下命令从 /usr/local/lib 中删除 node 或 node_modules 目录。

    sudo rm -rf /usr/local/lib/node*
    
  3. 使用以下命令从 /usr/local/include 中删除 node 或 node_modules 目录。

    sudo rm -rf /usr/local/include/node*
    
  4. 使用以下命令从 /usr/local/bin 中删除任何节点文件或目录。

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

答案3

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 版本管理器 (NVM) 安装节点。这为我省去了很多麻烦。因为您可以使用 nvm 无需 sudo 即可安装 nodejs 和 npm。

答案4

我在做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

就这样。

我希望这有帮助

相关内容