我刚刚为 Windows 安装了 NVM,但它似乎没有工作:
有任何想法吗?
首先检查您的实际“C:\Program Files\nodejs”目录。在我们决定(或被告知)安装 nvm 之前,我们大多数人已经从之前的安装中获得了一个“nodejs”目录。
最后,这个“C:\Program Files\nodejs”目录实际上是 nvm 管理它安装的版本的快捷方式(参见 C:\Users\xxx\AppData\Roaming\nvm)。当我们调用“nvm use ...”时,似乎 nvm 只是在切换快捷方式。
好的,这就是我为解决“nvm use ...”未生效的情况所做的工作。
我不知道这是否是最好的方法,但它对我有用......
使用 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
重命名"C:\Program Files\nodejs"
为"C:\Program Files\nodejsx"
nvm use x.x.x
这对我有用。也许它也对你有用。
最有可能发生的事情是系统%PATH%
正在命令提示符实例之外进行更新。只有打开新的命令提示符才能获取这些新的外部更改。
我在 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”目录之前,我遇到了同样的问题。
就我而言,我使用的是 git bash - 切换到 cmd.exe 有效。
我不得不在 Windows 的系统环境变量中手动设置 PATH 变量来解决这个问题。
以下是步骤:
在安装nvm之前,删除以下路径:
C:\Program Files\nodejs
C:\Program Files (x86)\nodejs
安装 nvm 后执行: nvm use
使用命令后,您可以找到 nvm 在此路径中创建的快捷方式“C:\Program Files\nodejs”。
我发现的问题是路径 'C:\Program Files\nodejs' 未在 Windows 系统环境 PATH 变量中设置。
我将 'C:\Program Files\nodejs' 附加到 %PATH% 变量以解决此问题。
我遇到了同样的问题。我使用 nvm 安装了节点,但系统无法识别“节点”和“npm”。
所以,我所做的是我没有删除任何文件夹或任何东西,我只是以管理员身份运行命令提示符并执行 nvm install 'desired-version' 并且一切都开始正常工作。
我必须以管理员权限打开安装程序。然后我打开命令行,就可以正确安装和使用nvm了。
nvm install 10.0.0
nvm use 10.0.0
node --version
// version 10 is used.
为了我,
nvm list
然后我从 nvm 中删除v8.9.4文件夹。
在那之后:
nvm list
然后,我将 v8.9.4 移回。
我安装了 nvm-windows 以使多个版本的节点工作。安装后,我得到了大多数人抱怨的错误,即无法找到文件 settings.txt。让 nvm-win 工作需要做两件事,安装程序只做这两件事中的第一件事。因此,安装后只需检查第 1 点和第 2 点是否已覆盖,您应该会很好。据我所知,无需卸载先前版本的节点。
在版本之间切换会给出成功消息,但它实际上不会正常工作,除非您手动更新 Windows 系统路径变量以指向您安装目标版本的位置,例如 C:\Users\adamm>nvm list
10.15.1
* 6.4.0(当前使用 64 位可执行文件)所以它似乎可以工作,但如果您键入 node -v,它将显示当前在您的路径变量中的任何版本,直到您编辑路径变量以使用 6.4.0
对我来说,我在非管理员 cmd 上使用 nvm 安装了节点。以管理员身份运行 cmd 对我有用。
打开一个具有管理员权限的新 cmd,然后运行此命令。
run 'nvm on'
为什么即使 nvm on 节点版本也不会随 nvm for windows 发生变化?
当 nodejs 已经安装时,安装NVM_SYMLINK
nvm for windows 时创建的环境变量将指向C:\Program Files\nodejs
(默认)
预期的行为是什么?
当我们运行nvm on
then时nvm use x.x.x
,我们应该能够毫不费力地切换到所需的节点版本。
怎么修 ?
C:\Program Files\nodejs
如果存在则删除NVM_SYMLINK
环境变量是否在运行时自动更改nvm use x.x.x
注意:我可以通过将用户环境变量更改NVM_SYMLINK
为C:\Users\Charlie\AppData\Roaming\nvm\vx.x.x
无需卸载节点来切换到所需的节点版本。
在我的工作中,我们被分配了一个用户帐户和一个管理帐户,用于为我们的机器安装和管理软件。NVM 安装在此管理员帐户下,因此,以上答案均不适合我。
我必须手动将 %NVM_HOME% 和 %NVM_SYMLINK% 添加到我的用户帐户路径中,然后node --version
才能显示任何内容。
因此,如果您必须处理普通帐户和管理帐户,那么以下内容将适用于您:
nvm install latest
nvm on
nvm use x.x.x
对我来说,问题是我在下载时遇到问题,我必须手动下载 zip 文件并将其内容放入 nvm 文件夹C:\Users\xxx\AppData\Roaming\nvm
尝试nvm run node --version
您还可以获取可执行文件的安装路径:
nvm which 5.0
为我修复它的东西:梳理你的 PATH 变量。我有多个指向不同节点版本的链接,在我清理完所有节点后它工作得很好,保留了 NVM 的变量。
如果执行where node返回多个路径,这可能是您的问题。
这对我来说很好:
在 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
对我来说,问题在于我使用的是 nosetup 方式并将 zip 下载到我的用户下载文件夹中。当我切换到安装程序时,它对我有用。
您需要管理员权限才能安装节点。由于您在知道解决方案之前遇到了问题,请按照以下步骤操作。
我有同样的问题。C:\Program Files\nodejs 快捷方式文件夹存在,但没有指向任何地方。
我只是删除了 C:\Program Files\nodejs 符号链接并执行了以下命令
nvm use 0.10.36
这创建了新的 C:\Program Files\nodejs 符号链接并且它工作正常。
对我来说,设置环境路径变量也不起作用。最后我得到了原因,它是不兼容的节点版本,一旦我将节点从 14 降级到我的前端应用程序中使用的版本,即 v8.11.3,它对我有用。