如果这是关于如何使用 NVM4W 的问题,请改用stackoverflow 。
如果这是与防病毒有关的问题,请确保首先搜索现有问题。
我尝试将 v8.9.1 切换到 6.12.0(节点版本)
但是,它没有切换到 6.12.0 或其他版本。
(我最后安装了 8.9.1)
我通过管理员打开了cmd。
C:Windowssystem32>nvm ls
C:Windowssystem32>node -v
v8.9.1
C:Windowssystem32>nvm 使用 6.12.0
现在使用节点 v6.12.0(64 位)
C:Windowssystem32>node -v
v8.9.1
C:Windowssystem32>nvm ls
相同
+1
与 nvm 1.1.5 相同:
C:\windows\system32>nvm version
1.1.5
C:\windows\system32>nvm ls
8.9.2
* 4.7.2 (Currently using 64-bit executable)
C:\windows\system32>nvm use 8.9.2
Now using node v8.9.2 (64-bit)
C:\windows\system32>node -v
v4.7.2
C:\windows\system32>
@biologeek同样的事情:/
你找到解决办法了吗?
这种情况最常发生是由于使用了非特权用户帐户。 您的帐户必须具有管理员级别的权限,因为 Windows 需要它作为符号链接。 nvm use
创建一个指向相应节点安装的符号链接。 如果您的符号链接存在于C:\Program Files
,您将需要提升权限(nvm4w 将尝试自动为您执行此操作)。
我是我电脑的管理员。 虽然我可以通过手动重命名文件夹来解决这个问题,以便 nvm 符号链接指向我需要的版本。
快速而肮脏,但无需管理员访问!
@biologeek - 您仍然需要管理员访问权限才能重命名C:\Program Files
内的目录,因为它是 Windows 上的受保护目录(对于C:\windows\system32
也是如此)。 就个人而言,我将 NVM4W 符号链接保留在我的用户目录中,因此这不是问题。
在此问题上 +1:我无法更改版本。
解决方法:
将“C:Program Filesnodejs”重命名为“C:Program Filesnodejsx”,
然后从一个名为“nvm use 8.9.1”的提升的cmd(你得到的任何版本都应该工作..)并开始工作。
问题似乎是,如果 nodejs 目录存在,nvm 无法将其更改为符号链接,并且“静默失败”会很好,失败和错误消息说明问题。
可以确认@ituasdu所说的。 谢谢!
@ituasdu解决了我的问题,谢谢
你好,这里有同样的问题。
NVM 创建一个指向已安装节点版本的符号链接。
问题是 Windows 7 需要管理员权限级别来创建符号链接,而在 Windows 10 中不再是这种情况。
一种解决方法是在 Windows 7 上使用带有参数“/J”的联结(“硬”链接)。 Junctions 不需要管理员权限级别和低权限用户帐户,因为我可以使用它。 例子:
nvm install 8.11.2
mklink /D /J node C:\PATH_TO_NVM\nvm\v8.11.2
问题:使用连接代替符号链接不是一个好主意吗? 或者至少为 nvm 指定一个选项,例如 '--junctions' ?
我正在考虑为此创建一个拉取请求,因为它阻碍了我的公司。 会有帮助吗?
@nan0在 Windows 7 上进行连接不起作用......它仍然不会切换版本。
C:\Program Files\nodejs
包含 v6.9.4(在安装 NVM4W 之前安装)。
C:\Users\[user]\AppData\Roaming\nvm
包含v6.9.4\
和v8.11.3\
我运行了您在帖子中提供的命令:
问题 1:
mklink /D /J node C:\Users\[user]\AppData\Roaming\nvm\v8.11.3
当我尝试为 v6.9.4 执行此操作时,它说“当该文件已存在时无法创建文件”。
问题 2:
此外,使用nvm use v8.11.3
然后nvm list
并不表示它实际上使用的是 nvm 安装的节点版本。
还有什么可以做的吗?
如何查看创建的连接点? 它们实际存在于何处?
我正在使用:
Windows 7. 我的用户没有管理员权限。
没关系它确实有效。 我意识到我在错误的文件夹中制作了junction
。
将 C:Program Filesnodejs 重命名为 C:Program Files nodejsx
然后将连接点设为“nodejs”并将其指向C:\Users\[user]\AppData\Roaming\nvm\v8.11.3
工作!
所以总结一下解决方案是这样的:
没有安装独立节点。
在C:\Program Files\
文件夹中使用cmd
运行mklink /D /J nodejs C:\Users\[user]\AppData\Roaming\nvm\v8.11.3
有兴趣投稿的朋友,谢谢!
然而; 我想指出的是,明确避免了连接,因为它们不能跨不同的硬盘驱动器工作。 这是具有共享驱动器/映射驱动器的企业网络中的一个特殊痛点。
@ituasdu它解决了我的问题,
感谢您的解决方案。
我的电脑是 Windows 7,我有管理员权限。 同样的情况,NVM不能改版本。我的做法是在环境变量中设置NVM_SYMLINK D:Project NVM v8.11.4。切换节点版本只需要修改环境变量NVM路径对应的版本号,如:NVM_SYMLINK D:Project NVM v6.9.0。这样虽然问题解决了,但是每次换版本都麻烦,暂时没找到更好的解决办法。
堆栈溢出的“Sagan”解决方案对我有用:
https://stackoverflow.com/questions/28313372/nvm-for-windows-not-working
给我,
nvm list
然后我从nvm 中删除了
在那之后:
nvm list
然后,我将v8.9.4 移回原处。
这在 Windows 10 10.0.17134.165 上发生在我身上
我尝试了@ituasdu提到的解决方案,它奏效了。 谢谢!!!
如果您在尝试 cmd 后发现:
nvm use 6.10.0
并且nodejs版本没有变化,管理员可以启动cmd.exe或者powershell。
在节点 6.6.0 和 7.9.0(Windows 10)之间切换时我遇到了同样的问题,但 ituasdu 的解决方案不起作用。 重新安装 nvm 也没有用。
我运行了 nvm install latest(安装了 11.3.0),这以某种方式为我修复了它。
解决方法:
将“C:Program Filesnodejs”重命名为“C:Program Filesnodejsx”,
然后从一个名为“nvm use 8.9.1”的提升的cmd(你得到的任何版本都应该工作..)并开始工作。
问题似乎是,如果 nodejs 目录存在,nvm 无法将其更改为符号链接,并且“静默失败”会很好,失败和错误消息说明问题。
这对我有用。
PS > nvm use 11.4.0
Now using node v11.4.0 (64-bit)
PS > node -v
v10.11.0
PS > nvm use 11.4.0
Now using node v11.4.0 (64-bit)
PS > node -v
v11.4.0
@ituasdu也为我工作..谢谢.. :)
@ituasdu谢谢,工作
这也适用于我,谢谢。
我不知道这是否可以解决这个问题,但在我的情况下,我认为这是在安装了没有 nvm 的新版本节点(手动)之后发生的。 似乎这个动作让 nvm 变得疯狂。
@coreybutler对在不需要管理员权限的文件夹上安装符号链接有什么想法吗? 我知道这在 Windows 开发中可能有点糟糕,但它肯定会回避所有这些问题,尤其是在高度锁定的企业环境中,获取管理员权限是一个巨大的痛苦。
其他痛苦是我目前正在遭受的(不是因为 nvmw),尽管在某些情况下我确实有管理员权限,但每次我想在节点版本之间切换时,我都必须打开一个完整的其他 cmd 窗口,以管理员身份运行 cmd,最后运行nvm use 10.15.1
(例如)。 然后导航回到我的开发,cmd 窗口。 啊。 再说一次,工作环境带来的痛苦而不是 nvmw。 (顺便说一句,nvmw 很棒)。
只是一个想法。 ;-)
以管理员身份在 Powershell ISE 下运行nvm use <node.js version you want to use>
(例如nvm use 10.15.3
)解决了我的 Windows 10 中的问题。
我必须在Powershell 以管理员身份多次运行nvm use any.version
才能使其工作。 它在第一次、第二次或第三次尝试时随机更改版本(nvm 版本 1.1.7)。
我尝试通过安装Link Shell Extension并执行以下步骤来修复它:
C:\Program Files\nodejs
C:\Program Files
nodejs - SymbolicLink
重命名nodejsx
但不幸的是,问题仍在发生。
可以确认@ituasdu解决方案也对我
@ituasdu对我
@monico-moreno - 下次当我几个月都没有回复时通过电子邮件 ping 我 :) 要回答您的问题,您可以使用安装程序安装到您想要的任何文件夹。 然而; Windows 上的所有符号链接都需要管理员权限,但较新版本的 Windows 10 上的某些开发人员模式除外。底线是管理员权限在某些时候发挥作用。
另外,也许您可以在我结束菜单系统时对其进行 Beta 测试(从 Windows 任务栏切换版本)。 那会是一个更好的工作流程吗?
https://github.com/coreybutler/nvm-windows#uninstall -existing-node
我只是有类似的问题,但不同的原因。
D:\> node -v
v12.14.0
D:\> nvm use 8.9.4
Now using node v8.9.4 (64-bit)
D:\> node -v
v12.14.0
// problem
D:\> where node
D:\soft\nodejs\node.exe // <- old nvm used this one
C:\Program Files\nodejs\node.exe // <- new nvm was changing this one
IIRC 我将以前的 nvm 版本安装到 D:soft 并且它正在更改链接 D:softnodejs。 在某些时候旧的 nvm 停止工作,因为 npm 存储库更改了位置(如果它有效 - 请不要触摸)。 我不得不安装新的 nvm,我猜新的 nvm 拒绝更改旧链接,而是更新链接 C:Program Filesnodejs。 所以我删除了 D:softnodejs 并修复了它。
感谢@delepster建议卸载旧节点,这帮助我发现了问题
我们今天安装了三台计算机,其中两台安装了 Windows 10 操作系统,一台安装了 Windows 服务器。 两台装有 Windows 10 操作系统的机器在启动功能时都丢失了搜索功能,但装有 Windows Server 操作系统的机器没有。 因此,您无法再输入想要查看的程序名称。
还有其他人有同样的问题吗?
@putko这是今天出现的 Windows 问题,已由 MS 确认并修复。 看到这条推文https://twitter.com/tomwarren/status/1225110095010418689
解决方法:
将“C:Program Filesnodejs”重命名为“C:Program Filesnodejsx”,
然后从一个名为“nvm use 8.9.1”的提升的cmd(你得到的任何版本都应该工作..)并开始工作。
问题似乎是,如果 nodejs 目录存在,nvm 无法将其更改为符号链接,并且“静默失败”会很好,失败和错误消息说明问题。这对我有用。
PS > nvm use 11.4.0 Now using node v11.4.0 (64-bit) PS > node -v v10.11.0 PS > nvm use 11.4.0 Now using node v11.4.0 (64-bit) PS > node -v v11.4.0
这对我也有用。
1.1.7
有类似的问题,最后发现settings.txt
文件被忽略了。 nvm use
绝对不会做任何事情,直到我手动设置NVM_SYMLINK
。 此外,如果没有设置 SYMLINK,nvm 将尝试删除.
,这至少可以说很有趣。
该path
参数在settings.txt
,其中包含了什么应该被默认为的SymLink使用,是从来没有读过或者用来初始化:
https://github.com/coreybutler/nvm-windows/blob/88353cfcea140e02e2b13584fd89454adc9f52b3/src/nvm.go#L727 -L751
最新版本的 Windows 10 专业版在我进行了全新安装时遇到了同样的问题。
我设置机器的通常步骤是:
@ituasdu在他的断言中是正确的,当我重命名我的 nodejs 文件时,它允许我使用 nvm use 并实际设置它。 否则它会错误地成功并告诉我版本集等等,但它没有设置版本并且我坚持使用最初安装的 LTS。
我知道实际上有一行说我们应该卸载我第一次在 README.md 上错过的现有节点,但是在我没有再次检查之前使用过 nvm-windows 我只是通过 Chocolatey 安装它并忘记了这一点. (是否可以将 npm 卸载作为巧克力安装的一部分,或者只是检测是否有一个并提示用户在允许他们安装 nvm 之前先卸载它?)
(是否可以将 npm 卸载作为巧克力安装的一部分,或者只是检测是否有一个并提示用户在允许他们安装 nvm 之前先卸载它?)
我认为这是可能的:这个请求应该向Chocolatey nvm 包维护者提出。
当你在你的机器上单独安装了 Node(从网站或包管理器)时,就会发生这种情况。 卸载它们并通过 nvm 安装应该可以解决问题。
我遇到了同样的问题,在管理员模式下使用 PS 并不能解决问题。 (Windows 10.0.18363)
最有用的评论
解决方法:
将“C:Program Filesnodejs”重命名为“C:Program Filesnodejsx”,
然后从一个名为“nvm use 8.9.1”的提升的cmd(你得到的任何版本都应该工作..)并开始工作。
问题似乎是,如果 nodejs 目录存在,nvm 无法将其更改为符号链接,并且“静默失败”会很好,失败和错误消息说明问题。