首页 > 解决方案 > 通过 nvm 安装 Nodejs 时 npm list -g 无法工作

问题描述

最近我通过nvm重新安装了Nodejs和npm。除了npm list -g命令之外,所有事情都运行良好。当我使用该命令时,它显示的全局包只是 npm 本身:

在此处输入图像描述

但实际上,我已经安装了其他许多全局包。我可以在文件夹中找到它们: 在此处输入图像描述

另外,让我感到困惑的另一件事是有 2 个 Nodejs 文件夹。一种是:

在此处输入图像描述

另一个是:

在此处输入图像描述

有什么问题吗?如何使用npm list -g命令找到全局包?

标签: node.jsnpmnvm

解决方案


当你使用 npm 安装一个全局包时,它预装了 Node 的版本,比如说 12,当你使用 nvm 将 Node 安装升级到新版本或者你告诉 nvm 切换到使用不同的 Node 版本时,全局包当您使用 Node 12 时安装的将不可调用,因为此全局包位于特定于 Node 12 的文件夹中,Node 13 或 Node 10 无权访问该全局包,因此当您手动切换到不同的 Node 版本或通过 nvm,您必须再次安装该全局包。通过 npm 安装的每个 Node 版本都驻留在它们自己的文件夹中,并且无论何时执行此操作npm i -g package,此全局包都将下载到特定于当前使用的 Node 版本的文件夹


推荐阅读