Nuxt.js项目部署Netlify执行npm run generate返回退出码134报错如何解决?
报错根因
你遇到的node: ../src/coroutine.cc:134: void* find_thread_id_key(void*): Assertion 'thread_id_key != 0x7777' failed报错,是Netlify默认使用的高版本Node.js(16.x及以上)和项目SCSS编译依赖的fibers包不兼容导致的,fibers包官方已经停止维护,最高仅支持到Node.js 14.x版本。
修复方案
你可以选择以下任意一种方案处理:
- 方案1:降级Node.js构建版本
在项目根目录新建名为.nvmrc的文件,写入内容14,或者在Netlify后台的环境变量配置页新增变量NODE_VERSION,值设为14,修改后重新触发构建即可。 - 方案2:移除fibers依赖(推荐,不用降级Node版本)
- 执行命令
npm uninstall fibers移除不兼容的fibers包 - 执行命令
npm install sass@latest --save-dev更新到最新版本的sass编译器 - 修改
nuxt.config.js中的build配置,禁用fibers调用:
build: { loaders: { scss: { implementation: require('sass'), sassOptions: { fibers: false } } } } - 执行命令
- 方案3:临时禁用Node实验特性
如果你不想修改项目配置,也可以直接将Netlify的构建命令修改为NODE_OPTIONS=--no-experimental-fetch npm run generate,重新构建即可。
内容的提问来源于stack exchange,提问作者Hasibur Rahman
相关产品推荐
相关产品推荐

