繁体   English   中英

在不使用 NVM for Windows 的情况下在 Windows 上安装多个版本的 Node.js

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

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

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

是否只能卸载已安装的版本并每次安装新版本? 有什么办法,我可以有在C V10:\\ Program Files文件\\ node14:C下的\\ Program Files文件\\节点10,和V14?

需要明确的是,管理员愿意授予我特定的权限或安装所需的任何软件以使其正常工作。 我们尝试使用名为 RunAsTool 的工具让我以管理员身份运行 NVM,但由于其局限性,这不起作用。

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

第三种选择是简单地安装两个不同的版本,但是当您安装新版本时,即使它安装在像C:\\Program Files\\node16这样的不寻常路径下,以前的版本也会被删除。

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

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

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

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

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM