前言

由于之前个人博客网站是采用Gitbook技术搭建静态网站.

想要继续发布文章,需要重新装相关环境,重新踩坑总比未知的坑更容易吧!

可如今,早已时过境迁,遇到的这些坑都是新坑,可见nodejs版本更新太快,gitbook早已不再更新兼容.

问题

Gitbook安装成功后,运行gitbook init初始化文档大纲,遇到了下面的报错:

报错提示

TypeError [ERR_INVALID_ARG_TYPE]: The "data" argument must be of type string or an instance of Buffer, TypedArray, or DataView. Received an instance of Promise

于是,翻遍了互联网终于找到了解决方法,于是特意记录下来.

报错文件位置: C:\Users\Administrator.gitbook\versions\3.2.3\lib\init.js

解决方案

修改代码中第72行的内容,亲测好用:

// Write summary
.then(function() {
    var filePath = path.join(rootFolder, summaryFilename);

    return fs.ensureFile(filePath)
    .then(function() {
        logger.info.ln('create ' + path.basename(filePath));
        // return fs.writeFile(filePath, summary.toText(extension));
        return summary.toText(extension).then(stx=>{return fs.writeFile(filePath, stx);});
    });
})

总结

本文讨论了在使用Gitbook时遇到的一个常见问题:安装成功后,相关命令无法正常运行,涉及“data”参数类型不正确,错误地接收了Promise实例。

通过直接定位并修改出错位置,成功解决了问题,使Gitbook能够正常运行。

往期精彩文章

  • 微信公众号开发入门
  • 申请测试微信公众号

欢迎扫码关注

欢迎扫码关注,私信回复『加群』一起交流技术