前言

  前段时间折腾服务器以及为其它项目,偶尔对hexo博客进行修改,其实博客没怎么改,前两天想把博客还是托管在原平台,发现vscode的自动提交及源码保存居然报错了,测试了下手动提交没有问题,因为这些天基本没动博客,所以问题应该不大,遂解决记录一下。当初没有截图保存,就多以文字形式记录。

1.VScode自动提交问题接解决 及failed to push some refs to

  初次报错提交那次居然报错大致意思是连接不到存储库,倒是实测手动提交明明没有问题,折腾了一阵子没解决,怀疑是勿删除某些文件,好在有备份压缩包,不过似乎备份时候文件有问题,折腾一阵还是不行,于是下载之前确定提交无误的源码,重新设置自动提交。

1.1、It seems that there is already a rebase-merge directory, and I wonder if you are in the middle of…

  因为前边提交出现了问题,但是自动和手动提交了几次,且自动提交的居然提交成功了部分东西,git rebase时报这个错误,说明之前有好几次提交了,但是commit没有成功或者没有做后续处理,本着这次提交的东西一定无误的心态,解决办法简单粗暴,直接强推,不出所料,成功了,且再次提交没有问题。

2.ERROR Cannot find module ‘hexo’ from ‘D:\Blog’

  本以为事情到上边就结束了,本地运行hexo cl报错 ERROR Cannot find module ‘hexo’ from ‘D:\Blog’,因为自动提交部分文件设置忽略并未提交,所以运行npm install,安装所需要的环境,这里出现了小插曲,又是废了些时间。

2.1、npm install报错npm WARN tar ENOENT: no such file or directory, open ‘…\node_modules...’

  手动删除package-lock.jsonnode_modules文件/夹,重新运行npm install命令,解决这个问题。

2.2、core-js@2.6.12: core-js@.3 is no longer maintained

  完整报错内容: core-js@2.6.12: core-js@.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Please, upgrade your dependencies to the actual version of core-js.
解决办法:经查阅资料说是npm版本太高了,退回6版本即可,经测试可以但似乎并不太好,但是眼前的问题可以解决,最终的解决办法在后便问题中一并解决了。

2.3、gyp ERR! find VS gyp ERR! find VS msvs_version not set from command line or npm config gyp ERR!

  经过出现多次问题解决后多次运行了npm install,又出现了这个错误。
解决办法:1.删除C:\Users\下面的.npmrc文件 —> 2.通过 npm profix 找到npm位置,删除npm文件夹npm-cache —> 3.卸载Nodejs重新安装 —> 4.安装完成配置环境后重新运行npm install。这里提供一个淘宝的镜像 npm config set registry https://registry.npm.taobao.org,这样做完之后会发现上边一个问题也解决了。

到目前为止`npm install`的问题算是彻底解决了!!

3.ERROR Script load failed: themes\butterfly\scripts\events...

  原以为事情到此结束,运行hexo三件套,发现
ERROR Script load failed: themes\butterfly\scripts\events\init.js
TypeError: require(…) is not a function和ERROR Script load failed: themes\butterfly\scripts\events\welcome.js
TypeError: require(…) is not a function
  经小伙伴提醒查看了这个pr,了解到升级到较新版本的 hexo 和 nodejs 后,const logger = require(‘hexo-log’)()不再可用,使用const logger = hexo.log替换即可。

4.error:spawn failed

  执行命令hexo d时出现错误
error:spawn failed或者
fatal: cannot lock ref ‘HEAD’: unable to resolve reference HEAD: Invalid argument error: src refspec或者
error: src refspec HEAD does not match any.
原因分析:因为项目是重新下载的原本提交的代码,所以并没有.deploy_git文件夹,而git pushhexo d推送项目时,.deploy_git文件内容发生了改变。
解决办法:1、删除.deploy_git文件夹; —> 2、执行git config —global core.autocrlf false; —> 3、然后hexo三件套即可。

再次三连无误,提交测试无误,事情告一段落。