复制步骤:
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]
答案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/node
opt/local/include/node
/opt/local/lib/node_modules
我在我的博客上发布了删除 NodeJS 的步骤:AMCOS IT 支持 Windows 和 Linux:从 Ubuntu 彻底卸载 node js。
首先,您需要从命令终端以 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
使用以下命令从 /usr/local/lib 中删除 node 或 node_modules 目录。
sudo rm -rf /usr/local/lib/node*
使用以下命令从 /usr/local/include 中删除 node 或 node_modules 目录。
sudo rm -rf /usr/local/include/node*
使用以下命令从 /usr/local/bin 中删除任何节点文件或目录。
sudo rm -rf /usr/local/bin/node*
转到主目录并删除任何节点或 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
就这样。
我希望这有帮助