2015-04-02 121 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