Windows10与Linux下json gem原生扩展构建失败问题求助
解决json gem安装失败(无法构建原生扩展)的问题
嘿,我来帮你搞定这两个场景下的json gem安装报错问题,这俩情况我都遇到过,分场景给你说解法:
一、Windows 10环境下的解决方案
Windows上出现ERROR: Failed to build gem native extension,大多是因为缺少Ruby的编译工具包(DevKit),毕竟json gem需要编译原生扩展。按下面步骤来:
- 先确认你安装的Ruby版本,去Ruby官网下载对应版本的DevKit(比如Ruby 2.x系列选DevKit-mingw64的32/64位包,和你的Ruby位数匹配)
- 把DevKit解压到一个没有空格的路径(比如
C:\DevKit),打开命令提示符进入这个路径 - 依次执行命令:
ruby dk.rb init ruby dk.rb install - 完成后重新执行
gem install json或者bundle install就可以了,如果还是不行,试试指定版本:gem install json -v 2.1.0
二、Linux(Ubuntu/Debian系)环境下的解决方案
看你的报错日志,系统用的是Ruby 2.3,而且明确提示找不到ruby.h头文件,这是因为没装Ruby的开发依赖包。直接执行下面的命令就能解决:
- 先更新软件源,再安装Ruby开发库:
sudo apt-get update && sudo apt-get install ruby2.3-dev - 安装完成后,重新运行
bundle install或者gem install json -v 2.1.0,这时候extconf.rb就能找到需要的头文件,顺利完成编译了。
内容的提问来源于stack exchange,提问作者Speedychuck
相关产品推荐
相关产品推荐

