Windows10下bundle安装fastlane时json 2.6.1缺失ruby.h报错如何解决?
问题根因
编译原生扩展时找不到ruby.h头文件,是Windows环境下Ruby缺少配套的原生扩展编译工具链导致的。
注意:Ruby安装路径请勿包含中文、空格或特殊字符,否则也可能导致头文件查找失败。
解决步骤
- 第一步:安装MSYS2编译工具链
打开Ruby安装目录下的Start Command Prompt with Ruby终端,执行命令:
在弹出的选项中选择全部3个组件安装,安装完成后关闭终端重新打开。ridk install - 第二步:单独验证json包安装
执行官方提示的安装命令测试:
若安装成功,直接执行gem install json -v '2.6.1' --source 'https://rubygems.org/'bundle install即可完成fastlane的安装。 - 第三步:兼容方案(上一步失败时使用)
如仍报错可使用无需编译的纯Ruby实现json包替代原生版本,执行:
也可以在Gemfile中添加一行gem install json_pure -v '2.6.1'gem "json_pure", "~> 2.6.1", platform: :mingw后重新执行bundle install。 - 第四步:版本兼容降级(以上都失败时使用)
Ruby 3.0.x在Windows下的原生扩展编译存在较多兼容问题,可卸载当前版本,安装Ruby 2.7.x稳定版后重复上述操作即可。
内容的提问来源于stack exchange,提问作者KacyJane
相关产品推荐
相关产品推荐

