千雪琉音
文章6
标签11
分类3

文章分类

文章归档

分享我的难绷经历两则

分享我的难绷经历两则

其一 · 后缀名害我熬到凌晨四点

首先骂一句沟槽的 Windows

事情的起因是我在部署一个 Astro 博客,在配置 banner 的时候我从 iCloud 照片里找了张图出来,因为是从 iPhone 保存的,所以文件后缀是全大写的。在复制到博客的资源路径里之后我在 Windows 资源管理器里把文件后缀改成小写,改完发现文件名没变,遂刷新了 Windows 资源管理器,发现文件名确实变了,于是就没管,后续的本地构建也一切顺利。

在写完各种配置后提交推送一气呵成,打开 Cloudflare Pages 开始自动构建,正当我美滋滋地等待构建完成上线的时候,构建失败了!

图1 构建失败

我很奇怪啊,明明本地构建一点问题都没有,怎么从 GitHub 上拉下来的就出错了呢?仔细一看日志,出错的地方还是构建时的临时文件里,我都看不了报错的代码。于是我尝试询问 ChatGPT 以及查阅 Astro 和博客主题的文档,也都没什么进展。网络上根本没有和我一样的问题。

在查了两小时资料后,我决定删掉本地的仓库,从 GitHub 上重新拉下来尝试构建。坏消息是构建失败了,好消息是本地构建出现的错误和 Pages 构建出现的错误是一样的。终于可以查看报错的代码是什么了。

在看到错误代码的那一刻问题就显而易见了,是构建的时候找不到图片导致的,于是我马上开始查找可能出问题的图片资源。而当我看到 banner 后面的大写后缀名时,我释怀的似了。

图2 我释怀的似了

在 Webstorm 里重构了之后提交推送,经过紧张刺激的构建环节,网站终于顺利上线了。这个时候已经是凌晨四点,距离我第一次开始构建已经过去了将近3小时。

如果感兴趣的话可以去 千言千语 看看,我会把一些不会发在这里的东西发在那里。

其二 · Homebridge WOL 插件折腾记

最近更换了自己的服务器,从一个 RK3566 芯片的盒子换成了 M1 的 Mac mini,然后顺便把 Homeassistant 换成了 Homebridge 来联动米家和 HomeKit。其实米家联动上倒没什么问题,问题出在了 Homebridge 上的一个 wakeonlan 插件。

我发现这个插件唤醒电脑是正常的,但是唤醒之后没法关掉电脑。查看日志发现开关状态是正常的,而且没有报错。在服务器的终端上运行关机命令也是可以让电脑关机的,于是我猜测是插件没有执行关机命令。

为了了解插件的运行机制,我去 GitHub 上查看插件的源代码。然后我明白了,插件在执行开机命令或关机命令后会把电脑的状态设置为开机中/关机中的状态,在这个状态下不论接收到开机命令还是关机命令都会被直接忽略。而我因为偷懒没有写插件的 ping 设置,导致接收到开机命令后状态只能保持为开机中,从而武略了所有的开关机命令。

在乖乖配置好了 ping 设置后插件功能一切正常了,可喜可贺,可喜可贺。

相比于被后缀名折腾了3小时,这个问题只花了不到半小时就解决了,实在是太顺利了(

PS:这老哥写的代码还挺好懂的,注释写的也很详细,看起来还挺舒服的()

最后

以上就是我最近两个比较难绷的经历,事后想想还蛮有意思的,遂写下这篇博客记录。

封面: ガード下のメニュー by 紺屋鴉江