将Hexo从2020 Intel MBP迁移到2021 MBP 14inch Apple Silicon

昨天14寸mbp(m1 pro)到了之后,欢天喜地的用time machine备份再还原了一下午,谁知道time machine连同intel上的环境一起给还原到了apple silicon这边来,光是要怎么卸载intel的brew我都搞了半小时,(brew官网提供的uninstall .sh脚本 狠起来连自己都报错!),最后我就开机狂按cmd+R 抹盘重装了。

BTW,淘宝在激活的当天可以买AppleCare+,我是花了¥1385直接在杭州朗朗数码买的,Care就是可以保3年,然后全球联保(去🇳🇱就几乎不用担心了),所以毫不犹豫的就买了,毕竟贵MBP换主板换屏幕都是5000+软妹币吧……Apple Silicon一路下来体验就是:爽!!!作为16-20年mbp模具和intel的受害者,我的2020 intel mbp 13inch 今年在进入4月份以来只能用mac fan control调到all time满速才可使用,更别说16G的内存在最近连看个Safari都会闪退。与此同时,mbp 14寸开了满满一dock的app都安静如鸡,流畅丝滑,内存一路绿灯,这才叫优雅啊!!!

进入正题,由于我在intel mbp 上的hexo是跑在node 12.x版本下的,今天去nodejs主页一看,稳定版都更新到16.x了(贵前端生态真的奇葩)。我依稀记得之前还专门写过因为兼容性问题从node 14.x版本回滚的经历(贵nodejs圈用什么管理环境?nvm?)。怀着忐忑的心情,从GitHub上拉下来了hexo项目的最新提交,在新mac上配置好github token。先安装hexo-cli:

1
npm install hexo-cli -g

全局安装package时(-g flag)遇到了permission denied的问题(EACCES),主要是mkdir '/usr/local/lib/node_modules/hexo-cli' \ mkdir: /usr/local/lib/node_modules/hexo-cli: Permission denied命令权限不够,参照npm的官方文档目录下自建一个npm全局包目录解决。

进入hexo folder,这时要根据你当时的package.json重新安装各种包

1
npm install

装好后,npm会让你audit,可以看看,不过没什么用。这时就可以hexo server了,然后居然直接跑起来了,虽然还是会有一些warning,但都是一些dependency不支持了之类的。

最后,再根据以前写的一些博文,开启数学公式一类的插件就可以了($try \space some \space math \space here \space 89^{64}$),由于包都是重装的,所以这些细枝末节的修改最好也重新走一遍。这样来看,hexo基本上可以很好地迁移到 #apple silicon 这边来。