一、报错信息

  1. $ yuque-hexo sync
  2. [INFO] clear previous directory.
  3. [INFO] remove yuque posts: D:\Blog\blog-wztlink1013-3.0\source\yuque
  4. Mon, 01 Jun 2020 04:02:22 GMT yuque-hexo deprecated TOKEN of yuque will be required while verion >v1.6.0. at ..\..\Develop\nodejs\node_global\node_modules\yuque-hexo\lib\Downloader.js:39:19
  5. [INFO] reading from local file: D:\Blog\blog-wztlink1013-3.0\yuque.json
  6. [WARNING] Cannot find module 'D:\Blog\blog-wztlink1013-3.0\yuque.json'
  7. Require stack:
  8. - D:\Develop\nodejs\node_global\node_modules\yuque-hexo\lib\Downloader.js
  9. - D:\Develop\nodejs\node_global\node_modules\yuque-hexo\command\sync.js
  10. - D:\Develop\nodejs\node_global\node_modules\yuque-hexo\node_modules\common-bin\lib\command.js
  11. - D:\Develop\nodejs\node_global\node_modules\yuque-hexo\node_modules\common-bin\index.js
  12. - D:\Develop\nodejs\node_global\node_modules\yuque-hexo\index.js
  13. - D:\Develop\nodejs\node_global\node_modules\yuque-hexo\bin\yuque-hexo.js
  14. ⚠️ Error: fail to fetch article list, response: {"status":401,"message":"Unauthorized"}
  15. ⚠️ Command Error, enable `DEBUG=common-bin` for detail

二、分析并解决问题

认证出错,应该和下面三个原因有关

  • 客户端将其身份验证凭据发送到服务器,但是服务器由于某种原因拒绝了凭据。
  • 客户端无法在请求中提供任何身份验证凭据。
  • 客户端由于某种原因被禁止。某些应用程序用来限制来自特定IP地址的访问请求,因此,如果身份验证不是问题,则可能是服务器端禁止。401 Unauthorized Errors

也就是身份没有被验证,首先检查用户元信息相关

的确,配置都是没有问题的,然后去issue里面查看相关问题,了解到是语雀官方出于对知识库安全性的调整,需要使用第三方 API 访问知识库,需要传入环境变量 YUQUE_TOKEN。

然后根据两种指导方式,传入参数即可

  • 设置全局的环境变量 YUQUE_TOKEN
  • 命令执行时传入环境变量
    • mac / linux: YUQUE_TOKEN=xxx yuque-hexo sync
    • windows: set YUQUE_TOKEN=xxx && yuque-hexo sync

传入之后会有一封邮件发过来,然后新开git bash窗口,重新键入命令即可

成功之后是这个样子的

  1. $ yuque-hexo sync
  2. [INFO] clear previous directory.
  3. [INFO] remove yuque posts: D:\Blog\blog-wztlink1013-3.0\source\_posts\yuque
  4. [INFO] reading from local file: D:\Blog\blog-wztlink1013-3.0\yuque.json
  5. [INFO] article amount: 2
  6. [INFO] download articles done!
  7. [INFO] writing to local file: D:\Blog\blog-wztlink1013-3.0\yuque.json
  8. [INFO] create posts directory (if it not exists): D:\Blog\blog-wztlink1013-3.0\source\_posts\yuque
  9. [INFO] generate post file: D:\Blog\blog-wztlink1013-3.0\source\_posts\yuque\hexo-test.md
  10. [INFO] generate post file: D:\Blog\blog-wztlink1013-3.0\source\_posts\yuque\语雀文章测试.md
  11. [INFO] yuque-hexo sync done!

相关参考