【问题标题】:How can I completely uninstall nodejs, npm and node in Ubuntu [closed]如何在 Ubuntu 中完全卸载 nodejs、npm 和 node [关闭]
【发布时间】:2015-12-02 07:07:53
【问题描述】:

问题类似于How do I completely uninstall Node.js, and reinstall from beginning (Mac OS X),但适用于 Ubuntu,仅用于卸载。

安装由:sudo apt-get install node

如何完全删除 npm 以及 npm 在我的系统上安装的所有库、包和任何其他文件,例如通过npm install -g @vue/cli?

我确实计划之后重新安装 npm。

【问题讨论】:

  • 如果你首先 apt-get remove node 安装 nodejs-legacy 是可行的(或者更好的是,清除)。该节点程序是一个业余无线电软件调制解调器,因此除非您拥有业余许可证并且想要通过业余无线电发送数字数据包,否则您不需要它。
  • 是的,我做到了。我还是有问题。每次我在控制台中写node 时,它都会告诉我/usr/sbin/ couldn't finde node 之类的东西。
  • 这能回答你的问题吗? Uninstall Node.JS using Linux command line?

标签: node.js ubuntu


【解决方案1】:
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

我建议使用 Node Version Manager(NVM) 安装节点。这为我省去了很多麻烦。不用sudo 也可以使用 nvm 安装 nodejs 和 npm。

【讨论】:

  • 除此之外,我还建议您删除任何已添加的第 3 部分 PPA。我被这个问题困住了,节点被删除了,但如果不使用nvm,我仍然无法安装更新的版本
  • 只有这对我有用!我只是在最后添加下一个命令:rm -rf usr/local/bin/npm
  • 如果您也想删除nvm,请查看此问题github.com/creationix/nvm/issues/298
  • 上面的答案假定这不是使用节点脚本和 wget 安装的...。@zanna 在这两种解决方案上都有名称,应该将两者结合起来
  • @LeeRuns 我只编辑了它们。我同意这篇文章有很多重复 - 我认为三个几乎相同的答案已经被删除。我不认为我可以用我可用的工具做任何进一步的事情。
【解决方案2】:

最好手动删除 NodeJS 及其模块,因为安装会留下很多文件、链接和模块,然后当我们重新配置另一个版本的 NodeJS 及其模块时,这会产生问题。

要删除文件,请运行以下命令:

sudo rm -rf /usr/local/bin/npm 
sudo rm -rf /usr/local/share/man/man1/node* 
sudo rm -rf /usr/local/lib/dtrace/node.d
rm -rf ~/.npm
rm -rf ~/.node-gyp
sudo rm -rf /opt/local/bin/node
sudo rm -rf /opt/local/include/node
sudo rm -rf /opt/local/lib/node_modules
sudo rm -rf /usr/local/lib/node*
sudo rm -rf /usr/local/include/node*
sudo rm -rf /usr/local/bin/node*

我在我的博客上发布了带有命令的分步指南:AMCOS IT Support For Windows and Linux: To completely uninstall node js from Ubuntu

【讨论】:

  • 完美,我刚刚添加了“sudo rm -rf ~/.npm-global”
  • 在什么情况下系统安装的Node会在/opt写东西,更不用说/usr/local了?
【解决方案3】:

注意:这将从您的系统中完全删除 nodejs;然后您可以从以下命令进行全新安装。

移除 Nodejs 和 Npm

sudo apt-get remove nodejs npm node
sudo apt-get purge nodejs

现在从您的系统中删除 .node.npm 文件夹

sudo rm -rf /usr/local/bin/npm 
sudo rm -rf /usr/local/share/man/man1/node* 
sudo rm -rf /usr/local/lib/dtrace/node.d 
sudo rm -rf ~/.npm 
sudo rm -rf ~/.node-gyp 
sudo rm -rf /opt/local/bin/node 
sudo rm -rf opt/local/include/node 
sudo rm -rf /opt/local/lib/node_modules  

sudo rm -rf /usr/local/lib/node*
sudo rm -rf /usr/local/include/node*
sudo rm -rf /usr/local/bin/node*

转到主目录并删除任何节点或node_modules 目录(如果存在)。

您可以通过这些命令验证您的卸载;他们不应该输出任何东西。

which node
which nodejs
which npm

通过下载并运行脚本安装 NVM(节点版本管理器)

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.34.0/install.sh | bash

上面的命令会将 NVM 存储库从 Github 克隆到 ~/.nvm 目录:

关闭并重新打开您的终端以开始使用 nvm 或运行以下命令以立即使用它:

export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"  # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"  # This loads nvm bash_completion

正如上面的输出所说,您应该关闭并重新打开终端或运行命令以将 nvm 脚本的路径添加到当前 shell 会话。你可以做任何对你来说更容易的事情。

一旦脚本在您的 PATH 中,通过键入以下内容验证 nvm 是否已正确安装:

nvm --version

应该给出这个输出:

0.34.0

安装 Node.js 和 npm

nvm install node
nvm install --lts

安装完成后,通过打印 Node.js 版本进行验证:

node --version

应该给出这个输出:

v12.8.1

Npm 也应该与 node 一起安装,使用验证它

npm -v

应该给:

6.13.4

额外 - [可选] 您还可以使用 nvm 轻松使用两个不同版本的节点

nvm install 8.10.0 # 只放节点版本号 现在在节点版本之间切换

$ nvm ls
->     v12.14.1
        v13.7.0
default -> lts/* (-> v12.14.1)
node -> stable (-> v13.7.0) (default)
stable -> 13.7 (-> v13.7.0) (default)
iojs -> N/A (default)
unstable -> N/A (default)
lts/* -> lts/erbium (-> v12.14.1)
lts/argon -> v4.9.1 (-> N/A)
lts/boron -> v6.17.1 (-> N/A)
lts/carbon -> v8.17.0 (-> N/A)
lts/dubnium -> v10.18.1 (-> N/A)

在我的情况下,v12.14.1 和 v13.7.0 都已安装,要切换我必须使用

nvm use 12.14.1

为全局安装配置 npm 在您的主目录中,为全局安装创建一个目录:

mkdir ~/.npm-global

配置 npm 以使用新的目录路径:

npm config set prefix '~/.npm-global'

在您首选的文本编辑器中,打开或创建一个 ~/.profile 文件(如果不存在)并添加以下行:

PATH="$HOME/.npm-global/bin:$PATH"

在命令行上,更新你的系统变量:

source ~/.profile

就是这样

【讨论】:

  • 这是删除旧版本最全面的答案,使用 NVM 更容易安装最新版本。
  • 如果遇到错误Provided file to checksum does not exist. 请查看this answer
【解决方案4】:

将节点版本从 8.1.0 更新到 10.14.0

这对我有用:

  1. 打开终端(Ctrl+Alt+T)。

  2. 输入which node,这将给出类似/usr/local/bin/node的路径

  3. 运行命令sudo rm /usr/local/bin/node 删除二进制文件(根据您在步骤2中找到的内容调整路径)。现在node -v 显示你没有节点版本

  4. 下载一个脚本并运行它来设置环境:

    curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -
    
  5. 使用sudo apt-get install nodejs安装

    注意:如果您遇到类似的错误

    node /usr/bin/env: node: No such file or directory
    

    快跑

    ln -s /usr/bin/nodejs /usr/bin/node
    

    Source

  6. 现在node -v 将给v10.14.0

为我工作。

【讨论】:

    【解决方案5】:

    我很疯狂地从我的 Ubuntu 14.04 中删除 node、npm 和 nodejs,但是通过以下步骤,您将删除它:

    sudo apt-get uninstall nodejs npm node
    sudo apt-get remove nodejs npm node
    

    如果您正确卸载并且它仍然存在,请检查以下链接:

    你也可以试试find:

    find / -name "node"
    

    虽然这可能需要很长时间并返回许多令人困惑的误报,但您可能只想搜索 PATH 位置:

    find $(echo $PATH | sed 's/:/ /g') -name "node"
    

    它可能位于/usr/bin/node/usr/local/bin。找到后,用正确的路径删除即可,例如:

    sudo rm /usr/bin/node
    

    【讨论】:

      【解决方案6】:

      那些通过包管理器安装 node.js 的可以直接运行:

      sudo apt-get purge nodejs
      

      如果您已按照Installing Node.js via package manager 中的说明添加官方 NodeSource 存储库来安装它,请执行以下操作:

      sudo rm /etc/apt/sources.list.d/nodesource.list
      

      如果你也想清理 npm 缓存:

      rm -rf ~/.npm
      

      尝试手动删除东西是不好的做法,因为它会弄乱包管理器和操作系统本身。遵循这个答案是完全安全的

      【讨论】:

        【解决方案7】:

        尝试以下命令:

        $ sudo apt-get install nodejs
        $ sudo apt-get install aptitude
        $ sudo aptitude install npm
        

        【讨论】:

        • 您的答案与几年前接受的答案之间的主要区别在于您正在经历 Aptitude。解释为什么您认为这是比公认答案更好的方法会很有用。 Aptitude 提供了哪些早期答案所缺乏的内容?为什么读者应该实施你的方法?
        • 只有我一个人认为这是在回答如何做与问题相反的事情吗?
        猜你喜欢
        • 2015-04-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-08-28
        • 2021-11-19
        • 1970-01-01
        • 2020-10-26
        相关资源
        最近更新 更多