node版本需要更新,需要安装一个 n 模块,但 使用 npm install -g n
会报错。
报错信息如下:
npm ERR! code EBADPLATFORM
npm ERR! notsup Unsupported platform for n@7.3.1: wanted {"os":"!win32","arch":"any"} (current: {"os":"win32","arch":"x64"})
npm ERR! notsup Valid OS: !win32
npm ERR! notsup Valid Arch: any
npm ERR! notsup Actual OS: win32
npm ERR! notsup Actual Arch: x64
npm ERR! A complete log of this run can be found in:
使用:npm install -g n --force
即可
这其实主要是因为n模块不适配windows系统,所以虽然可以安装,但是还是需要相办法安装一个“linux”环境。在运行n 命令时提示使用wsl2
WSL 2 需要更新其内核组件。有关信息,请访问 https://aka.ms/wsl2kernel
进入该网址后,根据教程即可傻瓜式安装了。注意步骤三,记得开启windows的虚拟化功能,即使用管理员权限
执行下面这条命令:
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
按照对应的教程安装好了linux环境之后,我以为可以了
运行 n 之后,报wsl2请启用虚拟机平台 Windows 功能并确保在 BIOS 中启用虚拟化解决,百度说管理员身份运行下面的命令重启:
bcdedit /set hypervisorlaunchtype auto
重启之后,没有上面的错误了。但又报错,报 n:No such file or directory,或被迫退出。。
被迫退出,结束后台运行的VMware进程即可,但其实 n 命令只能在上面安装的linux中使用,我用的是ubuntu
启动之后,即可使用 n 模块,更新linux模块了
总结:其实一直没有抓住问题的关键,这个问题的主要原因是 n 不能在windows上运行,需要给它一个linux环境,在linux环境中运行,并对我的windows生效,这个才是解决这个问题的主要思路
有一分热,发一分光