吱托邦

吱托邦

面包会有的,牛奶也会有的,一切都会有的

0%

nvm(nodejs版本管理工具)导致node运行速度变慢

最近因为项目需要,在云服务器上安装了一个nvm,nvm是一个nodejs版本管理工具,安装nvm之后可以更轻松地使用命令行指令来安装不同版本的nodejs到同一台机器,还能轻松地管理和切换不同的nodejs版本,其实用起来挺方便的。但是今天突然发现,云服务器安装的nvm之后,nodejs的运行速度似乎受到了影响,明显要变得慢一些,挺奇怪的,最终卸载了nvm,并重新下载安装了nodejs某个版本。
NVM-nodejs版本管理工具

粗略描述发现该问题的过程如下。在使用pm2管理node项目的进程的时候,有个node项目一直启动失败,一开始以为是端口发生了冲突,关掉了node所有进程之后再启动,该node项目还是启动失败,后来干脆就把云服务器给重启算了,结果重启之后还是无法正常启动那个node项目,让我不禁怀疑,难道是之前安装了新版的nodejs却没有重启,如今重启了之后,由于node版本环境变了,出现了nodejs常见的兼容性问题,导致那个node项目无法启动了吗?这不是毛病越治越多了!
因此,下载了nvm安装到了云服务器上,并使用nvm安装了与开发环境一致的nodejs16.13.0版本,并切换到该版本。然而,该node项目仍然启动失败,这下真是懵了。最后,只能使用pm2 logs指令查看了控制台的报错,发现原来是hexo(一个博客框架)的生成器有问题,导致hexo的数据库文件db没有正确生成,而该node项目恰恰又需要引用hexo项目的数据库文件db,因此才导致无法启动。
那现在当务之急,是先把hexo clean然后hexo g进行重新生成,这次hexo成功生成了数据库文件db,那么应该再次尝试能否启动那个相关联的node项目了,结果这次果然可以成功启动了,事情到这里就结束了吗,并没有!
因为在重新编译hexo博客的过程中,发现现在在命令行中显示的编译速度明显要慢一些,甚至慢很多,这对于强迫症来说肯定是无法接受的。经过反复尝试,hexo现在的编译速度是真的降低了不少,之前hexo编译300个文件需要3秒,现在同样编译300个文件居然用了15秒,差距有5倍之多,初步怀疑真的就是因为使用了nvm管理nodejs的原因。那么现在先在把nvm卸载吧,卸载完成之后,想要再次编译hexo,结果直接提示系统环境中找不到node指令了,看来卸载nvm时,nvm的卸载程序把nodejs的全局环境变量都给删除掉了,有点坑!
没有使用nvm时,hexo正常的编译速度

没办法,只能又去nodejs的官方网站里面下载了一个LTS版本的nodejs安装包,重新安装到了云服务上,这下通过node -v可以正常识别到系统中的nodejs了,尝试编译hexo也发现速度又回来了,编译300个文件和之前一样是3秒就能跑完,真的又恢复到了原来的速度。这样看来,nodejs运行速度变慢真的和nvm有一定的关系吧,总之卸载了nvm不想再用了,自己手动控制nodejs的版本也就麻烦一点点而已!不过在开发环境中使用nvm还可以,方便本地调试项目的node版本兼容性问题。

文章标题:nvm(nodejs版本管理工具)导致node运行速度变慢
本文链接:https://www.lovebykin.com/2796996908/
版权声明:若无特殊标注,文章皆吱托邦原创,转载请注明出处。
赞赏文章:如果该文章有帮助,可以扫微信赞赏码对吱托邦进行鼓励。