在研究pdfjs这个库,看怎样利用它再封装一个在相对可控的UI组件。然后这个库最新版本需要node的16版本以上。
好家伙!我试试安装16版本,又遇到问题了!npm安装依赖都跑不起,后来发现是nvm-windows的问题。1
更新nvm-windows的版本至1.1.11后,又遇到新问题,node版本切换时没有生效,就像下面这个样子:
$ nvm current
v16.20.0
$ nvm use 14.18.2
Now using node v14.18.2 (64-bit)
$ nvm current
v16.20.0
我的情况是这样的,node当前版本为16,使用版本14失效。
$ nvm current
v16.20.0
$ nvm use 14.18.2
Now using node v14.18.2 (64-bit)
$ nvm current
v16.20.0
后来发现重新安装nvm-windows v1.1.11后,存在着两个符号链接。
$ where node
C:\nodejs\node.exe
C:\Program Files\nodejs\node.exe
查看文件属性后发现,C:\nodejs\
的符号链接指向的是16的版本,而C:\Program Files\nodejs\
的符号链接指向的是14的版本。
后来我把C:\nodejs\node.exe
这个删除后,环境中的node版本就能正常显示了。
$ nvm current
v14.18.2
正如 @tsauvajon 所说,最近新版本使用了C:\Program Files\nodejs\
的符号链接,旧版本的符号链接并没有清除而导致node版本不能正常切换。
我反馈问题过了两天,nvm-windows的作者coreybutler 给了令我满意的回应。他想回应的是这不是一个bug,这只是升级安装的姿势不对。他建议如果要升级,还是使用升级工具,而不是删除旧版本再重新安装,这就能避免出现和我同类的情况。
写在最后,确实我自己对这个工具认识不够,非常感谢 coreybutler 的回复。