如何解决从 nextjs 10.0.5 升级到 10.0.6 后,为什么画布会破坏构建?
我从 nextJs 从 10.0.5 升级到 10.0.6,现在构建失败并显示以下消息:
Error: Module did not self-register: '.../node_modules/canvas/build/Release/canvas.node
。
我没有直接导入画布,但它被 fabricjs 使用。我很难理解这条 Module did not self-register
错误消息是怎么回事。
我刚刚发现 Vercel 已经根据 release notes 对 webpack 配置进行了一些更改,因此这将是调查的起点,但到目前为止我没有成功。
旁注:该构建仍然与 NextJS 的最新(迄今为止)版本 10.0.7 发生冲突。这很不幸,因为它阻止我升级到 10.0.5 以上
编辑
经过一番调查,我发现问题是在我使用 getStaticPaths
生成基于动态路由的静态文件时发生的。我的假设是 nextjs 10.0.6+ 在其构建过程中使用工作线程来生成基于动态路由的静态文件。
由于工作线程不受画布支持(根据 this issue),这可以解释构建失败的原因。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。