48

我刚刚为 Windows 安装了 NVM,但它似乎没有工作:

来自命令行的 nvm

有任何想法吗?

4

23 回答 23

65

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

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

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

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

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

于 2018-04-30T17:05:46.723 回答
27

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

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

必须使用 arch 设置再次设置节点

    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
于 2017-01-11T12:29:13.900 回答
22

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

nvm use x.x.x

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

于 2020-02-24T17:53:06.750 回答
12

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

于 2015-02-04T05:25:01.370 回答
9

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

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

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”目录之前,我遇到了同样的问题。

于 2018-02-15T14:50:46.430 回答
7
  1. 确保删除所有旧的 nodejs。
  2. 安装非虚拟机
  3. 安装节点
  4. 打开新的终端提示
  5. 运行'nvm'
  6. 运行“非虚拟机列表”
  7. 运行“节点--版本”
于 2018-11-06T15:10:21.303 回答
3

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

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

于 2017-10-30T21:06:36.997 回答
3

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

以下是步骤:

  1. 在安装nvm之前,删除以下路径:

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

  2. 安装 nvm 后执行: nvm use

  3. 使用命令后,您可以找到 nvm 在此路径中创建的快捷方式“C:\Program Files\nodejs”。

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

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

于 2020-04-14T03:53:33.350 回答
2

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

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

于 2019-12-10T12:42:52.610 回答
2

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

nvm install 10.0.0
nvm use 10.0.0
node --version
// version 10 is used.
于 2020-09-04T20:46:24.233 回答
1

为了我,

nvm list

图片

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

图片

在那之后:

nvm list

图片

然后,我将 v8.9.4 移回。

于 2018-10-06T06:53:00.373 回答
1

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

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

问题2 版本切换

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

10.15.1

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

于 2019-02-13T18:25:27.340 回答
1

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

打开一个具有管理员权限的新 cmd,然后运行此命令。

run 'nvm on'
于 2021-12-23T15:09:03.523 回答
0

为什么即使 nvm on 节点版本也不会随 nvm for windows 发生变化?

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

预期的行为是什么?

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

怎么修 ?

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

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

于 2019-02-22T16:00:53.220 回答
0

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

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

因此,如果您必须处理普通帐户和管理帐户,那么以下内容将适用于您:

  1. 安装 NVM(必须使用您的管理员帐户安装)
  2. 手动将 %NVM_HOME% 和 %NVM_SYMLINK% 添加到您的用户帐户的路径(如果您检查管理员帐户的路径,您会看到在 NVM 安装期间将这两个添加到那里)
  3. nvm install latest
  4. nvm on
  5. nvm use x.x.x
  6. 重新启动计算机,以便您的 IDE 识别更改
  7. $利润$
于 2019-10-15T15:43:51.040 回答
0

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

于 2020-04-04T20:12:37.513 回答
0

尝试nvm run node --version


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

nvm which 5.0

于 2020-04-06T14:45:14.203 回答
0

为我修复它的东西:梳理你的 PATH 变量。我有多个指向不同节点版本的链接,在我清理完所有节点后它工作得很好,保留了 NVM 的变量。

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

于 2020-08-13T00:49:59.757 回答
0

这对我来说很好:

在 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

于 2020-11-17T03:14:29.537 回答
0

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

于 2021-03-22T08:25:09.950 回答
0

您需要管理员权限才能安装节点。由于您在知道解决方案之前遇到了问题,请按照以下步骤操作。

  1. 记下所有安装的节点版本(可选
  2. “C:\Program Files\nodejs”(可选推荐
  3. 删除“C:\Users\xxx\AppData\Roaming\nvm”
  4. 重新安装nvm
  5. 以管理员身份运行 cmd
  6. nvm安装xxx
于 2022-01-24T17:06:31.287 回答
0

我有同样的问题。C:\Program Files\nodejs 快捷方式文件夹存在,但没有指向任何地方。

我只是删除了 C:\Program Files\nodejs 符号链接并执行了以下命令 nvm use 0.10.36

这创建了新的 C:\Program Files\nodejs 符号链接并且它工作正常。

于 2022-02-21T11:25:43.157 回答
-1

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

于 2021-09-07T18:14:04.333 回答