2015-04-02 120 views
1

我在amazon EC2 linux实例上安装了vagrant 1.7.2。当我试图通过发出此流浪汉插件安装流浪汉-AWS命令我收到以下错误安装无业游民AWS插件,安装vagrant aws插件

Installing the 'vagrant-aws' plugin. This can take a few minutes... 
Bundler, the underlying system Vagrant uses to install plugins, 
reported an error. The error is shown below. These errors are usually 
caused by misconfigured plugin installations or transient network 
issues. The error from Bundler is: 

An error occurred while installing ffi (1.9.8), and Bundler cannot continue. 
Make sure that `gem install ffi -v '1.9.8'` succeeds before bundling. 

Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension. 

    /opt/vagrant/embedded/bin/ruby extconf.rb 
checking for ffi.h... *** extconf.rb failed *** 
Could not create Makefile due to some reason, probably lack of necessary 
libraries and/or headers. Check the mkmf.log file for more details. You may 
need configuration options. 

Provided configuration options: 
     --with-opt-dir 
     --with-opt-include 
     --without-opt-include=${opt-dir}/include 
     --with-opt-lib 
     --without-opt-lib=${opt-dir}/lib 
     --with-make-prog 
     --without-make-prog 
     --srcdir=. 
     --curdir 
     --ruby=/opt/vagrant/embedded/bin/ruby 
     --with-ffi_c-dir 
     --without-ffi_c-dir 
     --with-ffi_c-include 
     --without-ffi_c-include=${ffi_c-dir}/include 
     --with-ffi_c-lib 
     --without-ffi_c-lib=${ffi_c-dir}/ 
     --with-libffi-config 
     --without-libffi-config 
     --with-pkg-config 
     --without-pkg-config 
/opt/vagrant/embedded/lib/ruby/2.0.0/mkmf.rb:434:in `try_do': The compiler failed to generate an executable file. (RuntimeError) 
You have to install development tools first. 
     from /opt/vagrant/embedded/lib/ruby/2.0.0/mkmf.rb:565:in `try_cpp' 
     from /opt/vagrant/embedded/lib/ruby/2.0.0/mkmf.rb:1044:in `block in have_header' 
     from /opt/vagrant/embedded/lib/ruby/2.0.0/mkmf.rb:895:in `block in checking_for' 
     from /opt/vagrant/embedded/lib/ruby/2.0.0/mkmf.rb:340:in `block (2 levels) in postpone' 
     from /opt/vagrant/embedded/lib/ruby/2.0.0/mkmf.rb:310:in `open' 
     from /opt/vagrant/embedded/lib/ruby/2.0.0/mkmf.rb:340:in `block in postpone' 
     from /opt/vagrant/embedded/lib/ruby/2.0.0/mkmf.rb:310:in `open' 
     from /opt/vagrant/embedded/lib/ruby/2.0.0/mkmf.rb:336:in `postpone' 
     from /opt/vagrant/embedded/lib/ruby/2.0.0/mkmf.rb:894:in `checking_for' 
     from /opt/vagrant/embedded/lib/ruby/2.0.0/mkmf.rb:1043:in `have_header' 
     from extconf.rb:16:in `<main>' 


Gem files will remain installed in /home/ec2-user/.vagrant.d/gems/gems/ffi-1.9.8 for inspection. 
Results logged to /home/ec2-user/.vagrant.d/gems/gems/ffi-1.9.8/ext/ffi_c/gem_make.out 

请帮我解决这个问题。

TIA,

回答

4

您需要安装GCC编译器,并可能是一些支持库和工具。

对于亚马逊的Linux,RHEL,CentOS的,或Fedora,尝试

sudo yum groupinstall 'Development Tools' 

对于Debian或Ubuntu,尝试

sudo apt-get install build-essential 
+0

我得到了你的观点。我解决了它。感谢您的建议。 – DIVA 2015-04-03 09:27:43

+0

@DIVA我不确定你的意思是我的解决方案是否有效。如果确实如此,请接受我的回答,以便其他人认为这是一个正确的解决方案。如果没有,请发布什么工作。 – CoverosGene 2015-04-03 13:04:30

+0

你是对的。但是,我所做的解决此问题的方法是应用此命令在创建的AWS EC2实例上安装所需的开发工具。** sudo yum install -y gcc ruby​​ -devel libxml2 libxml2-devel libxslt libxslt-devel ** 然后,我发出以下命令安装ruby ffi软件包。 ** sudo gem install ffi --version 1.9.8 ** – DIVA 2015-04-03 13:19:51