【问题标题】:Bundle install failed due to unf_ext (0.0.5) gem由于 unf_ext (0.0.5) gem,捆绑安装失败
【发布时间】:2012-11-29 22:22:33
【问题描述】:

我在 centos 6.3 上使用 rvm 安装了 ruby​​ 1.9.3p327 和 rails 3.2.8。但是在为特定项目文件夹进行捆绑安装时,该过程在尝试安装 gem unf_ext 0.0.5 并引发以下错误之间失败,

安装带有本机扩展的 unf_ext (0.0.5) Gem::Installer::ExtensionBuildError: ERROR: 未能构建 gem 原生扩展。

/home/rradmin/.rvm/rubies/ruby-1.9.3-p327/bin/ruby extconf.rb -fPIC
checking for main() in -lstdc++... yes
checking for ruby/encoding.h... yes
creating Makefile

make
compiling unf.cc
cc1plus: warning: command line option "-Wdeclaration-after-statement" is valid for C/ObjC but not for C++
cc1plus: warning: command line option "-Wimplicit-function-declaration" is valid for C/ObjC but not for C++
In file included from /usr/lib/gcc/x86_64-redhat-linux/4.4.6/../../../../include/c++/4.4.6/vector:61,
from unf/normalizer.hh:4,
from unf.cc:1:
.....
....
...

Gem 文件将继续安装在 /home/rradmin/.rvm/gems/ruby-1.9.3-p327@r32/gems/unf_ext-0.0.5 以供检查。 结果记录到 /home/rradmin/.rvm/gems/ruby-1.9.3-p327@r32/gems/unf_ext-0.0.5/ext/unf_ext/gem_make.out

安装 unf_ext (0.0.5) 时出错,Bundler 不能 继续。确保gem install unf_ext -v '0.0.5' 成功 在捆绑之前。

我也尝试过如上所述单独安装 unf_ext,但得到了同样的错误。 我已经提到https://github.com/cowboyd/therubyracer/issues/135,但仍然无法解决问题。请告诉我解决此问题的正确方法。

谢谢。

【问题讨论】:

    标签: ruby-on-rails-3.2 bundle-install


    【解决方案1】:

    在 Ubuntu 上我只需要这样做

    sudo apt-get install build-essential
    

    解决这个问题。

    (据此记录,我使用的是全新构建的 Ubuntu 12.10 Server X64)

    【讨论】:

      【解决方案2】:

      当您没有支持库来编译 gem 时会出现此错误尝试安装以下软件包

      sudo apt-get install build-essential openssl libreadline6 libreadline6-dev curl git-core     zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-0 libsqlite3-dev sqlite3 libxml2-dev libxslt-dev autoconf libc6-dev ncurses-dev automake libtool bison
      

      然后进行捆绑安装

      【讨论】:

      • 谢谢苏曼。我正在使用 centos 6.3,并且我已经使用 rvmsudo yum install -y gcc-c++ patch readline readline-devel zlib zlib-devel libyaml-devel libffi-devel openssl-devel make bzip2 autoconf automake libtool bison iconv-devel 来获取支持库.我仍然使用 yum 尝试了您的命令,但缺少很多库。此命令是否因操作系统而异?
      • 是的,不同的是你需要在centos 6.3中找到合适的包尝试安装libreadline6 libreadline6-dev包它可能会解决你的问题
      【解决方案3】:

      我通过使用yum install gcc-c++ libstdc++-devel安装libstdc++-devel解决了这个问题

      【讨论】:

        【解决方案4】:

        谢谢苏曼。但我通过使用 yum install gcc-g++ libstdc++-devel 安装 libstdc++-devel 解决了这个问题。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2015-06-15
          • 2016-07-27
          • 1970-01-01
          • 2023-02-10
          • 1970-01-01
          • 1970-01-01
          • 2015-11-29
          • 2017-03-11
          相关资源
          最近更新 更多