Gatsby-remark-images-remote приводит к сбою сборки, как устранить основную причину?

Мой сайт гэтсби https://jeff-tian.jiwai.win/ (Исходный код: https://github.com/Jeff-Tian/space/) использует gatsby js. Он содержит тысячи постов в блоге с уценкой, и до того, как я внес следующее изменение, построение было гладким.

Изображения в сообщениях не могут быть отображены напрямую, поскольку они являются удаленными изображениями.

Поэтому я думаю, что могу загрузить изображения локально на этапе сборки, и нашел этот плагин только для этой цели: https://github.com/icaraps/gatsby-remark-images-remote.

Однако при встрече с битой ссылкой выкидывает. Поэтому я разветвил плагин, чтобы отловить ошибки, связанные с неработающими ссылками, и продолжить работу над сайтом.

Но здание все еще не работает, и я не знаю, почему. Я перепробовал множество настроек, например, настроил failOn на none плагин image-sharp.

Все равно не повезло. Вы можете проверить неудачные задания здесь: https://github.com/Jeff-Tian/space/actions

Журналы ошибок есть, но они не должны блокировать здание. Ошибка чем-то похожа на Error: Input buffer contains unsupported image format.

Может ли кто-нибудь помочь мне устранить основную причину? Есть ли какой-либо вариант со стороны конфигурации gatsby для продолжения сборки с этими ошибками обработки изображений?


71
1

Ответ:

Решено

Поэтому я сделал глубокий вдох и начал писать тестовые примеры, чтобы попытаться воспроизвести ошибку:

И мне удалось воспроизвести последний тестовый пример, а затем, проследив трассировку ошибки локально, я, наконец, заметил дьявола!

У gatsby-plugin-sharp есть строка кода: process.exit(1). Проклятие!!

После того, как была найдена первопричина, я создал PR для ее устранения: https://github.com/gatsbyjs/gatsby/pull/37165.