安装Gatsby Casper启动器后遇LNK1107错误:node.lib文件损坏
我之前搭建Gatsby项目时也碰到过一模一样的fatal error LNK1107问题,根源基本都是.node-gyp目录里的node.lib文件损坏或者版本不兼容,给你几个亲测有效的解决步骤:
第一步:清理损坏的.node-gyp缓存
直接删除报错路径里的对应版本文件夹:C:\Users\<USER>\.node-gyp\9.5.0,然后打开终端执行:npm cache clean --force彻底清理npm的缓存文件,避免残留的损坏文件影响后续操作。
第二步:重新安装并配置node-gyp
node-gyp是Node.js编译原生模块的工具,版本不匹配也会导致这类问题,先全局更新它:npm install -g node-gyp然后执行配置命令,让它重新生成正确的编译依赖:
node-gyp configure第三步:检查Node.js版本兼容性
你当前用的Node.js 9.5.0是比较老旧的版本了,Casper Gatsby Starter可能对Node版本有最低要求(一般推荐LTS版本比如16.x或18.x)。建议你升级到最新的LTS版本,之后再重新执行npm install和项目创建命令,很多时候版本兼容问题是这类报错的隐形原因。第四步:手动替换node.lib文件(终极方案)
如果前面几步都没解决,那大概率是这个node.lib文件本身损坏了。你可以去Node.js官网下载对应9.5.0版本的源码压缩包,解压后找到里面的node.lib文件,直接替换掉C:\Users\<USER>\.node-gyp\9.5.0\x64\node.lib这个损坏的文件,替换后再重新尝试创建项目。
另外要注意,执行这些命令时最好用管理员权限打开终端,避免因为权限不足导致文件无法删除或替换。
内容的提问来源于stack exchange,提问作者Clarice Bouwer

