处理nvm-window中切换node时的乱码问题

197 阅读1分钟

近来创建nextjs项目的时候由于项目需要使用到node 16+的版本,而本身使用到的版本是14.0.0因此需要使用到nvm进行版本切换。

但是在这一个切换过程中遇到显示乱码问题。 问题如下:

发现nvm乱码问题

image.png 在尝试多个方案后总结可能有一下原因:

  1. 没有使用管理员身份的cmd进行执行
  2. nvm的路径名中包含空格

方案解决

1. 使用管理员身份执行

首先我们先使用cmd的管理员身份进行执行,发现乱码解决勒,但是还是无法切换到正确的node版本 image.png

2. 修改文件名

因此猜测可能是文件名包含空格而出现的问题。但是如果要重新安装nvm又是一件非常麻烦的事情,因此去查到了一个使用文件名的短名的方法来避免空格的产生。方法来源,【官方issue】exit status 1: 'C:\Users\Konrad' is not recognized as an internal or external command, operable program or batch file. · Issue #405 · coreybutler/nvm-windows (github.com)

  1. 使用短名去替换包含空格的长名 在我的环境下nvm的路径是在 Program Files 底下的,因此使用dir /x命令去查看它的短名

image.png

  1. 修改nvm查找node的根路径(root)

image.png

最后到这里就算如何解决nvm-window无法切换版本号的具体方案和策略了,希望记录下来能对大家有所帮助。