window 10 fat32 分区不能通过nvm安装nodejs的解决方法


​ nvm是一个Node.js版本管理器 ,为了解决node各种版本存在不兼容问题,nvm其实是让你在同一台机器上根据需要,安装 或 切换项目所对应的node版本来适配项目。

一、下载nvm: 下载地址: nvm 下载链接 https://github.com/coreybutler/nvm-windows/releases

里面有nvm各种安装的式压缩文件,点击即可下载,这里整个过程都以windows 10环境为例: 下载nvm-setup.zip完成后解压nvm-setup.zip 文件,得到nvm安装文件,点击运行 nvm-setup.exe

以下用1.1.7 版本举例

安装时会需要选择两个安装目录,一个是nvm的目录,另一个是node的版本库目录,我这里分别用D:\nvm和D:\nodejs。

安装完后打开D:\nvm\setting.txt添加以下内容,切换node和npm的下载镜像,国内会快很多:

node_mirror: https://npm.taobao.org/mirrors/node/
npm_mirror: https://npm.taobao.org/mirrors/npm/

检查是否安装完成:

C:\Windows\system32>nvm version
1.1.7

安装nodejs nvm安装完后就可以开始管理nodejs的版本了

以下用安装 nodejs 10.24.1 版本举例

C:\Windows\system32>nvm install 10.24.1
Downloading node.js version 10.24.1 (64-bit)...
Complete
Creating D:\nvm\temp

Downloading npm version 6.14.12... Complete
Installing npm v6.14.12...

Installation complete. If you want to use this version, type

nvm use 10.24.1

切换对应的到 v10.24.1 版本

C:\Windows\system32>nvm use 10.24.1 Now using node v10.24.1 (64-bit) 验证切换是否成功

C:\Windows\system32>nvm list

  * 10.24.1 (Currently using 64-bit executable)

C:\Windows\system32>node -v
v10.24.1

可以看到v10.24.1 已经是默认的nodejs 版本了

在这里说一下我在使用 nvm use 切换nodejs版本不成功的情况.

搜索一圈网上主要是说 安装路径中不要包含中文,不要有空格.但是这两个问题我都不存在.

后来发现 在另外一台 windows10 上可以正常通过 nvm 安装 node的.发现安装后d:\ 盘下会多一个 nodejs 文件夹.而这个文件夹在我的本机上没有自动新建出来.

结合在网上搜索的 nvm 实现 切换 node版本的原理.大概类似linux中切换软链接,于是我进行了如下操作

  1. 右键 d:\nvm\v10.24.1 生成快捷方式,然后将快捷方式重命名为 nodejs,并移动到d:\ 目录下.

结果执行: node -v 提示命令不存在

2.手动执行 mklink创建链接

D:\>mklink /j d:\nodejs d:\nvm\v10.24.1
需要本地 NTFS 卷来完成该操作。

发现我的d:\文件系统是fat32

于是通过命令转换文件系统

Convert D: /fs:ntfs

重启转换完成后还是不成功.

3.分区工具

后来通过在 pe 环境下用傲梅分区助手,执行了如下操作

直接转换ntfs,提交后不生效.还是fat32文件系统!

3.1先将d盘拆分为2个分区.

3.2然后将新的分区格式化为ntfs文件系统.

3.3格式化完成后再合并fat32,ntfs这两个相邻的分区为 ntfs文件系统(这里好像不能选文件系统,默认就是ntfs,或者以后一个为准?我合并时就是ntfs文件系统)

最终终于实现了无损转换fat32为ntfs文件系统.

但是转换后的分区中只有一个文件夹

好在其他文件都在这个文件夹内,我把里面的文件移动到根目录后,重启电脑一切都是正常的.

后来想一想,3.1拆分分区的步骤可以用移动调整分区来替代.

完结撒花,不知道那一次文件系统居然选择的fat32.坑