Mic*_*are 13 ruby rake rubygems ffi rvm
我在尝试安装ffi gem时遇到错误:
~ - 16:54>gem i ffi
Building native extensions. This could take a while...
ERROR: Error installing ffi:
ERROR: Failed to build gem native extension.
rake RUBYARCHDIR=/home/mdemare/.rvm/gems/ruby-1.9.2-p136/gems/ffi-1.0.6/lib RUBYLIBDIR=/home/mdemare/.rvm/gems/ruby-1.9.2-p136/gems/ffi-1.0.6/lib
/home/mdemare/.rvm/rubies/ruby-1.9.2-p136/lib/ruby/site_ruby/1.9.1/rubygems.rb:370:in `bin_path': can't find gem rake ([">= 0"]) with executable rake (Gem::GemNotFoundException)
from /home/mdemare/.rvm/gems/ruby-1.9.2-p136/bin/rake:19:in `<main>'
Gem files will remain installed in /home/mdemare/.rvm/gems/ruby-1.9.2-p136/gems/ffi-1.0.6 for inspection.
Results logged to /home/mdemare/.rvm/gems/ruby-1.9.2-p136/gems/ffi-1.0.6/gen/gem_make.out
Run Code Online (Sandbox Code Playgroud)
我在安装带有原生扩展的gem时遇到各种各样的错误,所以我认为我的Ubuntu安装有些问题,但我不知道是什么.我会发布您诊断问题所需的任何信息.
编辑:当我cd到ffi gem(在第二行但在最后一行中提到),并在第6行运行rake行时,我得到"找不到RubyGem rake-compiler".
在我的rake-compiler之后,再次运行rake,我得到了这个:
configure: error: source directory already configured; run "make distclean" there first
make: *** [/home/mdemare/.rvm/gems/ruby-1.9.2-p136/gems/ffi-1.0.6/build/x86_64-linux/ffi_c/1.9.2/libffi/.libs/libffi_convenience.a] Error 1
rake aborted!
Command failed with status (2): [make...]
Run Code Online (Sandbox Code Playgroud)
更新:
这些是我的rake gemspecs:
~ - 10:59>find ~/.rvm/ -name 'rake-0.8.7.gemspec'
~/.rvm/gems/ruby-1.9.2-p136/specifications/rake-0.8.7.gemspec
~/.rvm/gems/ruby-1.9.2-p136@global/specifications/rake-0.8.7.gemspec
~/.rvm/rubies/ruby-1.9.2-p136/lib/ruby/gems/1.9.1/specifications/rake-0.8.7.gemspec
Run Code Online (Sandbox Code Playgroud)
最后一个是gem看起来的地方,但是gemspec与第一个不同,并且不包括可执行文件.复制长文件并不能完全解决问题 - 我找到了一个找不到rake可执行文件的文件.
Tom*_*ris 13
这使得我在波士顿黑客日试图安装Vagrant(FFI是一个依赖)时引起了大量的恶化.我最后浪费了那么多时间,我换了机器来解决这个问题.
事实上,我发现了一个有效的黑客(虽然我确信有一个更好的解决方案).错误消息抱怨的文件
~/.rvm/gems/ruby-1.9.2-p180/bin/rake
Run Code Online (Sandbox Code Playgroud)
不同于其他类似的副本,因为它缺少路径设置的东西,所以我从其中一个文件中复制了这些行:
[根据以下@ danv的答案进行通用化.谢谢你的改进!]
ENV['GEM_HOME']=ENV['GEM_HOME'] || '~/.rvm/gems/ruby-1.9.2-p180'
ENV['GEM_PATH']=ENV['GEM_PATH'] || '~/.rvm/gems/ruby-1.9.2-p180:~/.rvm/gems/ruby-1.9.2-p180@global'
ENV['PATH']='~/.rvm/gems/ruby-1.9.2-p180/bin:~/.rvm/gems/ruby-1.9.2-p180@global/bin:~/.rvm/rubies/ruby-1.9.2-p180/bin:' + ENV['PATH']
Run Code Online (Sandbox Code Playgroud)
这为我解决了这个问题.这是一个新的Ubuntu 10.10安装,没有默认的Ruby安装(这可能是问题的一部分)和使用RVM安装的Ruby 1.9.2.许多其他宝石安装得很好,包括那些需要本机编译的宝石,因此问题是FFI特有的.
小智 6
我遇到了类似的问题,http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=529663的解决方法帮助了我.简而言之,尝试安装gem:
$ rake=/usr/bin/rake gem install ffi
| 归档时间: |
|
| 查看次数: |
7951 次 |
| 最近记录: |