无法在 linux 上安装 Rails:使用 ruby​​ 2.3“无法构建 gem 本机扩展”

rho*_*nan 2 ruby linux ruby-on-rails yum amazon-ec2

我正在尝试在 amazon-linux 实例上安装 rails,但我不断收到此问题中报告的相同错误:

[ec2-user@xxx.xxx ~]$ sudo gem install rails --no-ri --no-rdoc
Building native extensions.  This could take a while...
ERROR:  Error installing rails:
        ERROR: Failed to build gem native extension.

    current directory: /usr/local/share/ruby/gems/2.3/gems/nokogiri-1.7.2/ext/nokogiri
/usr/bin/ruby2.3 -r ./siteconf20170529-26560-9zyb13.rb extconf.rb
Run Code Online (Sandbox Code Playgroud)

请注意,我手动将 ruby​​ 升级到 2.3

[ec2-user@xxx.xxx ~]$ ruby -v
ruby 2.3.0p0 (2015-12-25 revision 53290) [x86_64-linux-gnu]
Run Code Online (Sandbox Code Playgroud)

我也尝试过其他版本的 rails(我想安装最新的 5.1.1),但也没有运气

sudo gem install rails --version 5.1.1 --no-ri --no-rdoc
sudo gem install rails --version 5.0.0 --no-ri --no-rdoc
sudo gem install rails --version 4.2.8 --no-ri --no-rdoc
Run Code Online (Sandbox Code Playgroud)

这是可能的还是我需要将 ruby​​ 降级到 2.0?

小智 5

似乎在编译 nokogiri 时发生了错误。

引入nokogiri文档

Ubuntu / Debian 安装疑难解答

如果您遇到问题,请首先确保您拥有编译 C 扩展所需的所有工具:

  1. sudo apt-get install build-essential 补丁

您的系统上可能没有安装重要的开发头文件。(这在我个人身上从未发生过,但我有充分的把握,否则优秀而高尚的 Ruby 开发人员会遇到这种情况。)如果您发现自己处于这种情况,您应该这样做:

  1. sudo apt-get install ruby​​-dev zlib1g-dev liblzma-dev