如何完全撤销 Ubuntu 中 npm 的所有更改

如何完全撤销 Ubuntu 中 npm 的所有更改

问题类似于https://stackoverflow.com/questions/11177954/how-do-i-completely-uninstall-node-js-and-reinstall-from-beginning-mac-os-x但对于 Ubuntu 来说,主要涉及清理部分。

安装照常进行:sudo apt-get install node,但是我后来使用该npm命令以多个用户的身份安装多个软件包。

我如何通过 彻底删除 npm 以及系统上由 npm 安装的所有库、软件包和其他文件npm install -g @vue/cli?我可能必须从 卸载apt,但主要问题与所做的所有更改有关npm

笔记:

  1. 我使用的是 Ubuntu 20.04 LTS npm 版本 7.5.6
  2. 由于目前人们似乎正在就卸载 npm 进行一些争论,请不要因为我想要卸载而投反对票,我打算重新安装:)

编辑 - 提醒未来的自己和他人:无需 sudo 即可重新安装,这里有食谱链接我仍然不清楚什么是最好的,但是https://stackoverflow.com/questions/10081293/install-npm-into-home-directory-with-distribution-nodejs-package-ubuntu另一方面README.md#debinstall所以可能使用 apt 安装节点,然后使用前缀...

答案1

这会很混乱...

当我尝试“修复”由于“管理”而无法格式化和从头重建的损坏的开发服务器时,我发现针对此问题的最简单的解决方案是:

  1. 删除全局安装的包
  2. 从各个目录中删除本地安装的软件包/home/root
  3. 移除节点

基本流程如下:

  1. 打开终端(如果尚未打开)或通过 SSH 进入机器(如果您没有物理访问权限)
  2. 列出所有全局安装的包:
    npm list -g --depth 0
    
  3. 使用以下命令逐个卸载全局软件包:
    sudo npm uninstall -g <package-name>
    
    如果您还想对帐户中本地安装的软件包执行此操作,您可以执行以下操作:
    npm list
    npm uninstall -S <package-name>
    
    -S标志还将删除package.json文件中的引用
  4. 删除以下目录:
    /etc/npmrc
    /home/youruser/.npmrc
    /root/.npmrc
    ./.npmrc在任何项目目录中package.json(使用 搜索locate .npmrc
  5. 删除 Node 包:
    sudo apt remove nodejs --purge  
    sudo apt remove npm --purge  
    
  6. 最后,删除散乱的文件和目录:
    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
    
    ...和模块:
    sudo rm -rf /usr/local/lib/node*
    
    ...并包含模块:
    sudo rm -rf /usr/local/include/node*
    
    ...以及本地的文件/bin
    sudo rm -rf /usr/local/bin/node*
    
  7. 享受 15 分钟的休息,因为你已经完成了

此时,如果您希望从头开始,可以重新安装 Node 及其包管理器。

答案2

我用来从 npm 中删除所有包的命令是..

npm ls -gp --depth=0 | awk -F/ '/node_modules/ && !/\/npm$/ {print $NF}' | xargs npm -g rm

如果失败了(有时 npm 会变得非常粘人)..

sudo rm -rf /usr/local/node_modules
rm -rf ~/.npm*

相关内容