在 Windows 上安装 Node.js 的多个版本,而不为 Windows 使用 NVM

Install multiple versions of Node.js on Windows without using NVM for Windows

我无法找到任何 questions/answers 关于如何在同一台计算机 上安装两个版本的 Node.js(例如 v10 和 v14)而不使用 NVM 。我无法使用 windows-nvm,因为它需要管理员权限,而且我以标准用户身份在公司笔记本电脑上工作。

我需要能够安装多个不同版本的Node.js,因为同一公司下的不同项目需要使用不同版本的Node.js。

难道只能卸载安装的版本,每次都安装新版本吗?有什么办法可以在 C:\Program Files\node10 下安装 v10,在 C:\Program Files\node14[=29= 下安装 v14 ]?

需要说明的是,管理员愿意授予我特定的权限或安装任何需要的软件才能使它正常工作。我们已经尝试使用一种叫做 RunAsTool 的东西来让我 运行 NVM 作为管理员,但是由于它的局限性,这不起作用。

另一种选择是授予我对 NVM 运行所需的任何文件和目录的管理员权限,但我找不到这些 files/folders 的列表。

第三种选择是简单地安装两个不同的版本,但是当您安装新版本时,以前的版本会被删除,即使它安装在 C:\Program Files\node16.

我认为没有简单的方法可以做到这一点。广泛地说,你需要两件事才能让节点在 Windows 上工作:其中包含可执行文件的 nodejs 文件夹,默认情况下为 c:\Program Files\nodejs,以及任何路径之前的系统路径其他节点路径。

不幸的是,写入 c:\Program Files 和更改系统路径都需要管理员权限。

但是,有一个有点笨拙的解决方法。总体思路是将 nodejs 文件夹放在您具有写入权限的位置,将系统路径指向它,它应该 运行。然后您可以通过替换文件夹来切换没有管理员权限的版本。为此:

  • 使用管理员,安装您要使用的第一个版本。将 c:\Program Files\nodejs 文件夹复制到新安装时不会被删除的位置:如果是版本 10.
  • ,请说 c:\nodejsbackups\v10\nodejs
  • 安装你要使用的第二个版本,复制nodejs文件到同一个地方,比如c:\nodejsbackups\v14\nodejs.
  • 同时将它复制到一个你将 运行 它的地方和你有写权限的地方,如果你对 c: 驱动器有写权限,比如 c:\nodejs ,如果没有,则在你的用户配置文件的某个地方.
  • 仍然具有管理员权限,edit the system Path environment variable(不是用户路径)。找到 c:\Program Files\nodejs 的条目并将其删除。为 c:\nodejs 添加一个条目。或者只是编辑它。
  • 我发现要让 Visual Studio 节点应用程序正常工作,我还必须使用控件 Panel/Programs 和功能卸载原始节点。

现在启动命令提示符并执行 node --versionnpm --version,您应该会看到第二个版本正在运行。

要切换版本,无需管理员删除 c:\nodejs,然后将第一个版本从 c:\nodejsbackups\v10\nodejs 复制到那里。 重新启动命令提示符,发出相同的命令,您应该会看到第一个版本现在可以正常工作了。

这似乎适用于一些非常有限的测试,但我认为您需要测试它是否适用于您的用例。可能有像 Visual Studio 这样的程序假定节点位于 c:\Program Files 而不使用路径。最后还是求个管理员权限比较好