ruby - 尝试安装 jekyll,出现以下错误 : Failed to build gem native extension

标签 ruby ubuntu gem installation jekyll

我正在尝试安装 Jekyll,但我一直卡在这个错误上。这是我尝试安装它的输出

clinch@clinch-VirtualBox:~$ gem install jekyllBuilding native extensions.  This could take a while...
ERROR:  Error installing jekyll:
    ERROR: Failed to build gem native extension.

        /home/clinch/.rvm/rubies/ruby-1.9.3-p392/bin/ruby extconf.rb
creating Makefile

make
compiling porter.c
cc1: unrecognized option `-Wextra'
cc1: unrecognized option `-Wno-missing-field-initializers'
cc1: unrecognized option `-Wdeclaration-after-statement'
make: *** [porter.o] Error 1


Gem files will remain installed in /home/clinch/.rvm/gems/ruby-1.9.3-p392/gems/fast-stemmer-1.0.2 for inspection.
Results logged to /home/clinch/.rvm/gems/ruby-1.9.3-p392/gems/fast-stemmer-1.0.2/ext/gem_make.out
clinch@clinch-VirtualBox:~$ gcc -v
Using built-in specs.
Configured with: ./configure --target=mips-dec-ultrix42 --program-prefix=mips- --with-gnu-as --with-gnu-ld --enable-obsolete
Thread model: single
gcc version 3.2.2
clinch@clinch-VirtualBox:~$ ruby -v
ruby 1.9.3p392 (2013-02-22 revision 39386) [x86_64-linux]
clinch@clinch-VirtualBox:~$ uname -a
Linux clinch-VirtualBox 3.2.0-37-generic #58-Ubuntu SMP Thu Jan 24 15:28:10 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux

我已经安装了 ruby​​1.9.1-dev 包。我尝试使用 gcc 4.6 进行编译,而不是我粘贴的输出中显示的 3.2.2。我也不知道 native 扩展错误是否导致 gcc 死亡。我还从头开始重建了 ruby​​。

也许我应该尝试使用另一个 Ruby 版本?虽然我知道 1.9.3 受 jekyll 支持。

我们将不胜感激。

最佳答案

尝试从 Ruby 或 Ruby and Rails 命令提示符而不是任何其他命令提示符安装 Jekyll

我根本不是专家,所以我建议的解决方案只是基于我以下经验的“猜测”。

我使用的是 Windows 7。尽管您使用的是 Ubuntu 而不是 Windows 7,但此解决方案可能适用于几乎所有遇到相同问题的人。

首先,我从 RailsInstaller 安装了 Ruby .然后,我想安装 Jekyll。我尝试从 Cygwin 安装 Jekyll。然而,我收到了如下错误(虽然和提问者的错误不完全相同,但我觉得已经足够相似了):

$ gem install jekyll
Building native extensions.  This could take a while...
ERROR:  Error installing jekyll:
        ERROR: Failed to build gem native extension.

        /usr/bin/ruby.exe extconf.rb
creating Makefile

make
gcc -I. -I/usr/include/ruby-1.9.1/x86_64-cygwin -I/usr/include/ruby-1.9.1/ruby/backward -I/usr/include/ruby-1.9.1 -I.   -ggdb -O2 -pipe   -fno-strict-aliasing  -Wall   -o posix-spawn.o -c posix-spawn.c
posix-spawn.c:9:19: fatal error: spawn.h: No such file or directory
 #include <spawn.h>
                   ^
compilation terminated.
Makefile:206: recipe for target `posix-spawn.o' failed
make: *** [posix-spawn.o] Error 1


Gem files will remain installed in /usr/lib/ruby/gems/1.9.1/gems/posix-spawn-0.3.6 for inspection.
Results logged to /usr/lib/ruby/gems/1.9.1/gems/posix-spawn-0.3.6/ext/gem_make.out

但是,当我尝试从使用 Ruby 和 Rails 的命令提示符(即 Ruby 命令提示符)安装 Jekyll 时,Jekyll 安装成功。

以防万一,我删除了系统变量 {Variable:Comspec,Value:C:\Windows\system32\cmd.exe},然后(成功地)尝试从 Ruby 和 Rails 命令提示符安装 Jekyll。

关于ruby - 尝试安装 jekyll,出现以下错误 : Failed to build gem native extension,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17647442/

相关文章:

linux - Linux下如何查找占用磁盘空间的文件

ubuntu - 在 dockerfile RUN 命令中使用环境变量

ubuntu - 如何从我的 ubuntu 18.04 机器上删除 tomcat 9 安装?

windows - sqlite3-ruby gem : Failed to build gem native extension

ruby-on-rails - 路由到 slug 时出现 Rails 路由错误

ruby-on-rails - braintree gem 相对于 ActiveMerchant braintree gem 的优势

ruby - map !没有改变原始数组

ruby-on-rails - 在 Rails 引擎之间交换数据

ruby-on-rails - 无法分配请求的地址 - bind(2) (Errno::EADDRNOTAVAIL)

ruby-on-rails - 找不到有效的 gem 安装 activerecord-sqlite3-adapter