【发布时间】:2021-09-05 02:27:58
【问题描述】:
最近我通过 nvm 重新安装了 Nodejs 和 npm。除了npm list -g 命令外,其他一切都运行良好。当我使用该命令时,它显示的全局包只是 npm 本身:
但实际上,我已经安装了其他许多全局包。我可以在文件夹中找到它们:
另外,让我感到困惑的另一件事是有 2 个 Nodejs 文件夹。一种是:
另一个是:
有什么问题吗?如何使用npm list -g 命令找到全局包?
【问题讨论】:
最近我通过 nvm 重新安装了 Nodejs 和 npm。除了npm list -g 命令外,其他一切都运行良好。当我使用该命令时,它显示的全局包只是 npm 本身:
但实际上,我已经安装了其他许多全局包。我可以在文件夹中找到它们:
另外,让我感到困惑的另一件事是有 2 个 Nodejs 文件夹。一种是:
另一个是:
有什么问题吗?如何使用npm list -g 命令找到全局包?
【问题讨论】:
当你使用 npm 安装一个全局包时,它预装了 Node 的版本,比如 12,当你使用 nvm 将 Node 安装升级到新版本或告诉 nvm 切换到使用不同的 Node 版本时,使用 Node 12 时安装的全局包将不可调用,因为此全局包位于特定于 Node 12 的文件夹中,Node 13 或 Node 10 无权访问该全局包,因此当您切换到不同的 Node手动或通过 nvm 版本,您必须再次安装该全局包。通过 npm 安装的每个 Node 版本都驻留在它们自己的文件夹中,无论您何时执行npm i -g package,这个全局包都会被下载到特定于当前使用的 Node 版本的文件夹中仅
【讨论】:
nvm ls 或nvm list 查看当前使用的Node 版本吗?还有nvm which version_currently_used 可以查看当前使用的Node 的路径。很确定 nvm 将 Node 安装在与您在此处显示的位置不同的位置,通常在 $HOME/.nvm
nvm which 是什么?我不能使用这个命令。
npm which,不妨试试nvm root,应该可以在nvm root输出的路径中看到一个Node文件夹