适用于 Windows 的 NVM 无法正常工作?

Posted

技术标签:

【中文标题】适用于 Windows 的 NVM 无法正常工作?【英文标题】:NVM for Windows not working? 【发布时间】:2015-04-03 12:03:25 【问题描述】:

我刚刚安装了NVM for Windows,但它似乎不起作用:

有什么想法吗?

【问题讨论】:

之后打开一个新的命令提示符并执行node工作吗? 这很尴尬。我发誓我检查过了。非常感谢! 嗯,不知道我是应该删除这个问题还是让你把你的评论放在答案中并接受它? 【参考方案1】:

首先检查您的实际“C:\Program Files\nodejs”目录。在我们决定(或被告知)安装 nvm 之前,我们中的大多数人已经有一个之前安装的“nodejs”目录。

最后,这个“C:\Program Files\nodejs”目录实际上是 nvm 管理它安装的版本的快捷方式(参见 C:\Users\xxx\AppData\Roaming\nvm)。当我们调用“nvm use ...”时,似乎nvm只是在切换快捷方式。

好的,这就是我为解决“nvm use ...”未生效的情况所做的工作。

    删除/删除/卸载“C:\Program Files\nodejs”目录中的节点版本。到了根本没有“nodejs”目录的地步。 删除nvm的存在(C:\Users\xxx\AppData\Roaming\nvm),基本上,手动删除nvm目录。 下载所需的 nvm 版本 (https://github.com/coreybutler/nvm-windows/releases) 打开 CMD 提示符(以管理员身份运行),并在此 CMD 命令提示符中安装下载的 nvm 版本 nvm-setup.exe。 从管理员级别的命令提示符中,运行“nvm install 7.2.1”,或您要安装的任何节点版本。您可能会安装多个版本,因此请根据需要重复。 现在执行通常的“nvm use ...”、“nvm list”等...

我不知道这是否是最好的方法,但它对我有用...

【讨论】:

这就是为我解决的问题。也供参考:github.com/coreybutler/nvm-windows/issues/… 至少适用于 Windows 7 的最合适的工作解决方案 如果“nodejs”目录还不是快捷方式,则必须将其删除,以便 nvm 命令可以正确地重新创建它。 (在 Windows 上,当文件夹是正确的快捷方式时,该文件夹会在文件浏览器中显示一个快捷方式图标,并且“属性”将有一个快捷方式选项卡,指示该文件夹是一个快捷方式。)这是为我解决问题的步骤。 注意:我遇到的问题是节点一开始没有显示为已安装,但是当我关闭 cmd 并重新打开(与 VS Code 相同)时,它按预期工作。否则非常有帮助的答案! ? 你救了我。真的行!使用 nvm windows 的真正指南。【参考方案2】:

使用 nvm 安装最新节点后遇到同样的问题。 node 命令在控制台中无法识别。关闭和打开命令窗口不起作用。检查了响应的nvm arch

    C:\WINDOWS\system32> nvm arch
    System Default: 64-bit.
    Currently Configured: -bit.

必须用拱形设置再次设置节点

    C:\WINDOWS\system32> nvm use 7.4.0 x64
    Now using node v7.4.0 (64-bit)
    C:\WINDOWS\system32> nvm arch
    System Default: 64-bit.
    Currently Configured: 64-bit.
    C:\WINDOWS\system32> nvm list

    * 7.4.0 (Currently using 64-bit executable)
      4.5.0
    C:\WINDOWS\system32> node -v
    v7.4.0

【讨论】:

谢谢,在全新安装 nvm 后遇到了同样的问题。但是我还必须删除 nvm 放置的 c:\program 文件中的快捷方式。 谢谢!在 Windows 10 64 位安装上为我工作 这个答案应该是正确的!非常感谢【参考方案3】:

"C:\Program Files\nodejs" 重命名为"C:\Program Files\nodejsx"

nvm use x.x.x

这对我有用。也许它也对你有用。

【讨论】:

美丽。这对我有用。此时我取消了节点、nvm,并删除了环境变量。然后我安装了 NVM,并使用 Node 安装了版本。我想我需要使用nvm on,但是,这真是太棒了。 是的——这行得通。它告诉我的是 nvm 安装程序在安装过程中无法删除现有的 nodejs 目录。只需重命名它,nvm 就可以创建一个指向正确位置的新目录。现在可以删除原来的nodejsx 目录了。 太棒了。全新安装 nvm,运行 nvm install x.x.x,并且在我运行此答案中的命令之前,节点未被识别为命令。不直观,但 c'est la vie。非常感谢。 我目前使用的是葡萄牙语版本的 windows,所以我还需要更改存储库的巴西名称文件夹并将其更改为 nvm 的配置文件,它确实有效。谢谢!【参考方案4】:

最有可能发生的情况是系统%PATH% 正在命令提示符实例之外进行更新。只有打开新的命令提示符才能获取这些新的外部更改。

【讨论】:

对于以后的围观者来说,这是一个只存在于某些系统上的问题。安装程序会在打开提示之前从逻辑上修改路径。在大多数环境中,这会按预期发生,因此它可以正常工作。然而;有时安装程序会在完成路径修改之前瞬间打开命令提示符,从而导致此问题。我试图强制安装程序等待,但它似乎是 InnoLogic 执行中的一个错误(当它应该同步时异步操作)。下一个版本将使用不同的安装程序,因为这很烦人。 我和 OP 有同样的问题,但是这里提出的解决方案对我不起作用!我有 nvm 1.1.1 并从中安装了节点 0.10.15。运行节点时出现“系统找不到指定的路径”错误。我在安装 nvm 之前安装了 node,因此按照说明,我将其卸载并删除了 npm 目录。还是没有运气! 我以前安装过 nodejs(没有使用 NVM 完成)。我不得不删除它,它是 nvm 正确设置路径的 %PATH% 条目。 有时你确实需要重启系统。【参考方案5】:

我在 Windows 10 中遇到了同样的问题,我的解决方案是在 @pleverett 回答 https://github.com/coreybutler/nvm-windows/issues/191

症状:无位架构,无默认版本

C:\WINDOWS\system32> nvm arch
System Default: 64-bit.
Currently Configured: -bit.

C:\WINDOWS\system32> nvm list
8.9.4
6.13.0

解决方案: 卸载 node 后,确保 node 最初安装的目录已被删除,而不是空的。对于 Windows 7 ad 10、64 位,默认为“C:\Program Files\nodejs”。

如果“nodejs”目录仍然存在,则“nvm use”命令无法将符号链接指向nvm控制下的节点版本。

在我手动删除“nodejs”目录之前,我遇到了同样的问题。

【讨论】:

【参考方案6】:
    确保删除所有旧 nodejs。 安装 nvm 安装节点 打开新的终端提示符 运行“nvm on” 运行“nvm 列表” 运行“节点--版本”

【讨论】:

【参考方案7】:

就我而言,我使用的是 git bash -- 切换到 cmd.exe 有效。

更多建议:https://github.com/coreybutler/nvm-windows/issues/58

【讨论】:

这个解决方案+1。对于 Windows 10,gitforwindows 似乎不喜欢运行nvm use 14.15.0【参考方案8】:

我遇到了同样的问题。我使用 nvm 安装了节点,但系统无法识别“节点”和“npm”。

所以,我所做的是我没有删除任何文件夹或任何东西,我只是以管理员身份运行命令提示符并执行 nvm install 'desired-version' 并且一切都开始正常工作。

【讨论】:

【参考方案9】:

我不得不在 Windows 的系统环境变量中手动设置 PATH 变量来解决这个问题。

步骤如下:

    安装nvm前,删除以下路径:

    C:\Program Files\nodejs C:\Program Files (x86)\nodejs

    安装 nvm 后执行: 非虚拟机使用

    使用命令后,您可以找到一个快捷方式“C:\Program Files\nodejs”是由 nvm 在这个路径中。

    我发现的问题是路径 'C:\Program Files\nodejs' 未在 Windows 系统环境 PATH 变量中设置。

    我将“C:\Program Files\nodejs”附加到 %PATH% 变量以解决此问题。

【讨论】:

【参考方案10】:

我必须以管理员权限打开安装程序。 然后我打开命令行就可以正常安装和使用nvm了。

nvm install 10.0.0
nvm use 10.0.0
node --version
// version 10 is used.

【讨论】:

【参考方案11】:

对我来说,

nvm list

然后我从 nvm 中删除 v8.9.4 文件夹。

之后:

nvm list

然后,我将 v8.9.4 移回。

【讨论】:

谢谢@xianshenglu。这个解决方案对我有用。唯一的区别是我无法重用版本文件夹。我需要运行 nvm install 来获取已移动版本的全新安装。【参考方案12】:

我安装了 nvm-windows 以便让多个版本的节点工作。安装后,我得到了大多数人抱怨的错误,即无法找到文件 settings.txt。让 nvm-win 工作需要做两件事,安装程序只做这两件事中的第一件事。因此,安装后只需检查第 1 点和第 2 点是否已覆盖,您应该会很好。据我所知,无需卸载先前版本的节点。

    将系统路径变量更新为安装nvm的目录和nvm.exe所在的目录。前任。 c:\nvm 将新变量 NVM_HOME 添加到系统变量中。 验证 1 和 2 后打开一个新的命令窗口。

问题2切换版本

在版本之间切换会显示成功消息,但它实际上不会正常工作,除非您手动更新 Windows 系统路径变量以指向您安装目标版本的位置,例如 C:\Users\adamm>nvm list

10.15.1

* 6.4.0(当前使用 64 位可执行文件) 所以它似乎可以工作,但如果你输入 node -v 它会显示当前在你的路径变量中的任何版本,直到你编辑路径变量以使用 6.4.0

【讨论】:

【参考方案13】:

为什么即使 nvm 开启,node 版本也不会随着 nvm for windows 发生变化?

当 nodejs 已经安装时,安装 nvm for windows 时创建的环境变量NVM_SYMLINK 将指向C:\Program Files\nodejs(默认)

预期的行为是什么?

当我们运行nvm on 然后nvm use x.x.x 时,我们应该能够毫不费力地切换到所需的节点版本。

如何解决?

    使用卸载/删除程序从控制面板卸载 nodejs 并删除C:\Program Files\nodejs(如果存在) 检查(一次)环境变量中的NVM_SYMLINK 是否在运行nvm use x.x.x 时自动更改 如果没有自动更改,则卸载并重新安装 nvm for windows(删除任何其他节点仍然存在)

注意:我可以通过将用户环境变量 NVM_SYMLINK 更改为 C:\Users\Charlie\AppData\Roaming\nvm\vx.x.x 来切换到所需的节点版本,而无需卸载节点。

【讨论】:

【参考方案14】:

在我的工作中,我们被分配了一个用户帐户和一个管理帐户,用于为我们的机器安装和管理软件。 NVM 安装在此管理员帐户下,因此,以上答案均不适合我。

我必须手动将 %NVM_HOME% 和 %NVM_SYMLINK% 添加到我的用户帐户路径中,然后才能让 node --version 显示任何内容。

因此,如果您必须处理普通帐户和管理帐户,那么以下方法将适合您:

    安装 NVM(必须使用您的管理员帐户安装) 手动将 %NVM_HOME% 和 %NVM_SYMLINK% 添加到您的用户帐户路径(如果您检查管理员帐户的路径,您会看到在 NVM 安装期间已将这两个添加到那里) nvm install latest nvm on nvm use x.x.x 重新启动计算机,以便您的 IDE 识别更改 $利润$

【讨论】:

【参考方案15】:

对我来说,问题是我在下载时遇到问题,我必须 download the zip file manually 并将其内容放入 nvm 文件夹 C:\Users\xxx\AppData\Roaming\nvm

【讨论】:

【参考方案16】:

试试nvm run node --version


您还可以获取可执行文件的安装路径:

nvm which 5.0

【讨论】:

which 似乎已从我正在使用的 nvm 版本中删除,即 1.1.7。【参考方案17】:

为我解决了这个问题:梳理您的 PATH 变量。我有多个指向不同节点版本的链接,在我清理完所有这些链接后它工作得很好,保留了 NVM 的变量。

如果执行 where node 返回多个路径,这可能是您的问题。

【讨论】:

【参考方案18】:

这对我来说很好:

在 C:\Program Files\ 文件夹下使用 cmd 运行 mklink /D /J nodejs C:\Users\[user]\AppData\Roaming\nvm[node version]

请注意 cmd 以管理员模式运行。

详情在这里:https://github.com/coreybutler/nvm-windows/issues/321#issuecomment-407876718

【讨论】:

【参考方案19】:

对我来说,问题在于我使用的是 nosetup 方式,并将 zip 下载到我的用户下载文件夹中。当我切换到安装程序时,它对我有用。

【讨论】:

【参考方案20】:

对我来说,我在非管理员 cmd 上使用 nvm 安装了节点。 以管理员身份运行 cmd 对我有用。

用管理员权限打开一个新的 cmd 然后运行这个命令。

run 'nvm on'

【讨论】:

【参考方案21】:

对我来说,设置环境路径变量也没有用。最后我找到了原因,它是节点版本不兼容,一旦我将节点从 14 降级到我的前端应用程序中使用的版本,即 v8.11.3,它对我有用。

【讨论】:

你应该清楚地升级这个超级旧版本。 老兄更新旧版本,丢失功能丢失

以上是关于适用于 Windows 的 NVM 无法正常工作?的主要内容,如果未能解决你的问题,请参考以下文章

在 WSL2 中:安装了适用于 Windows 10 nodejs 的 Ubuntu 20.04,但 npm 无法正常工作

升级 yarn 似乎可以工作,但没有,安装了 nvm

适用于 Windows 7 的 Git 无法从 github 克隆存储库

适用于 Windows 8.1 的 Nvidia GeForce 驱动程序无法在 Windows 10 上运行 [关闭]

适用于 iOs 的 Facebook SDK 无法正常工作

Windows nvm的安装使用(及排坑)