hexo 主题 fluid:Error:Cannot find module 'css'

本文最后更新于:2023年6月8日星期四下午3点33分

问题描述

许久没有更新博客,心血来潮,再来一次。先去 github 看了看,发现有依赖更新了,于是一顿操作后更新了。

结果跑持续集成时报错,报错情况如下:

INFO  Validating config
ERROR Script load failed: themes\fluid\scripts\events\lib\highlight.js
Error: Cannot find module 'css'
Require stack:
......

更新了的依赖为:

  • hexo-renderer-stylus
  • hexo-blog-encrypt
  • hexo-renderer-marked

查看错误位置:

'use strict';

const fs = require('fs');
const css = require('css');
const objUtil = require('../../utils/object');
const resolveModule = require('../../utils/resolve');

确实有一部分为 css,不过怎么会找不到涅。不是很明白。

解决

经过一番操作,如更新依赖,更新主题啥啥啥的,还是无法解决。

最终在搜索引擎的帮助下,找到了,fluid 主题 github 仓库的 issues,发现有人遇到了同样的问题。

ERROR Script load failed: themes\fluid\scripts\events\lib\highlight.js

在此中,主题作者zkqiang解释道:

This is because the new version of hexo-renderer-stylus no longer includes css module (stylus/stylus@043d404)

即,新版本的 hexo-renderer-stylus 不再包含 css 模块。,详见:stylus/stylus@043d404

有人就提出了解决办法,安装 css

npm install css --save

尝试后,成功解决问题,Nice。

碎碎念

作者在 develop 分支中进行了修改:

  • 修改文件:scripts/events/lib/highlight.js
  • 删除代码:const css = require('css');
  • 添加代码:
    let css;
    try {
        css = require('css');
    } catch (error) {
        if (error.code === 'MODULE_NOT_FOUND') {
            css = require('@adobe/css-tools');
        } else {
            throw error;
        }
    }

没升级 hexo-renderer-stylus 就使用 css = require('css');,反之,css = require('@adobe/css-tools');

不过咱这就还是自己安装 css 吧。


hexo 主题 fluid:Error:Cannot find module 'css'
https://muxiner.github.io/cannot-find-module-css/
作者
Muxiner
发布于
2023年6月8日
许可协议