【问题标题】:How to uninstall n and all node versions installed by n如何卸载 n 和 n 安装的所有节点版本
【发布时间】:2018-09-13 20:50:29
【问题描述】:

我已经使用n 工具安装了一些 Node.js 版本。我已经使用以下方法卸载了所有 Node.js 版本:

sudo n prune

当前(激活的)版本除外。如果我尝试卸载当前版本:

sudo n rm 6.10.2

我收到以下错误:

Error: cannot remove currently active version (node/6.10.2).

我想不通,如何设置系统(Arch Linux)默认的Node.js版本,该版本已经安装并用于安装n

如果卸载n 使用:

sudo npm uninstall -g n

它会在我的计算机上保留当前版本。

ls /usr/local/n/versions/node/                                                                                                                                                                      
6.10.2/

是否需要手动删除文件夹:/usr/local/n/?或者,n 中是否有一个选项可以卸载它以及n 安装的所有 Node.js 版本,以便我在安装n 之前获得设置?

【问题讨论】:

    标签: node.js archlinux n


    【解决方案1】:

    您需要手动移除n安装的Node版本,并设置正确的Node系统版本。

    sudo n prune
    sudo npm uninstall -g n
    sudo rm -r /usr/local/n
    sudo rm /usr/local/bin/node 
    

    在 GitHub 上查看 n 的以下问题:

    【讨论】:

    • 这需要添加一些关于如何切换回节点的系统 PATH(如果可用)的上下文。如果您想重新安装n,这会让您无法使用npm i -g n
    【解决方案2】:

    n 发生了一些变化,因此我将提供更新且更长的答案。

    首先是一些上下文。 n 默认安装到 /usr/local。如果这也是 node 和 npm 的“系统”安装的位置,那么它将被覆盖。之前下载的版本缓存保存在/usr/local/n

    删除n下载的缓存节点版本:

    • n prune 删除除了与节点的活动版本匹配的版本之外的所有版本
    • n v3.0.0 起,允许使用n rm <version> 删除活动版本
    • (但手动删除/usr/local/n 很简单,而且还删除了顶层文件夹!)

    删除已安装的节点以及 npm 和 npx 等:

    • n v4.1.0 开始,就有了n uninstall。 (如果系统节点和 npm 安装到相同位置并被覆盖,您将需要重新安装它们才能继续使用它们。)

    卸载n 本身:如果您使用npm install n 安装它,那么您使用npm uninstall n 卸载它。这不会影响 node 的缓存版本或 node 的安装版本,只是n。 (如果刚刚通过运行n uninstall 删除了 npm,还有一个小的 catch-22!)

    【讨论】:

      【解决方案3】:

      运行 n-uninstall 以卸载 n 以及与其一起安装的 Node.js 版本。 n-uninstall -y 跳过确认提示 - 谨慎使用。

      【讨论】:

        【解决方案4】:

        我在 mac OSX 上,所以我不确定这是否与您的用例相关,但它可能会有所帮助。

        如果您删除当前版本,n 似乎可能会遇到问题,因此我建议您删除该文件夹:/usr/local/n/

        然后尝试卸载“n”。就我而言,运行 npm uninstall -g n 并没有删除 n。相反,我需要通过运行:which n 来找到 n 的当前安装,然后从我的系统中删除该文件夹。

        那么,我建议您改用NVM。 我发现这是迄今为止我发现的最简单、最可靠的解决方案。

        更具体地说,为了解决您关于如何访问节点的系统安装的问题,我不知道您正在运行什么操作系统,但我不知道有一个 system 节点版本。

        通常,您必须手动安装节点。如果有 system 节点版本,我预计它会很快过时,考虑到节点和其他工具,通常会很快迭代更改。

        我希望这对你有用。

        【讨论】:

        • "如果您删除当前版本,看起来 n 可能会遇到问题..."。你的意思是?我没有删除当前版本。在我的情况下,npm uninstall -g n 成功删除了n。我的问题被标记为 archlinux,所以我使用 Linux 作为操作系统。 Archlinux 是一个滚动发行版,所以我得到了最新的 Node.js,但这不是问题所在。我只想从n 中删除当前节点版本,以便之后可以删除n
        猜你喜欢
        • 1970-01-01
        • 2018-09-02
        • 2022-07-12
        • 2021-05-01
        • 2017-09-08
        • 2017-01-07
        • 2021-05-24
        • 2017-01-30
        • 1970-01-01
        相关资源
        最近更新 更多