ruby-on-rails-3 – 无法修复具有本机扩展的gem的“bundle insta
我正在Amazon EC2云服务器上部署
Ruby On Rails应用程序.该服务器在Amazon Linux alami-2011.02上运行.我不能说它的基础上的发行版(从我的搜索,RedHat / CentOS,但我是该领域的新手).
我已经用RVM安装了我的Ruby环境(以root用户身份安装).我设置了两个ruby: > REE 1.8.7 对于我部署的每个Rails应用程序,我创建了一个单独的RVM gemset. 由于我遇到了这个问题,我通过运行rvm implode完全刷新了Ruby环境. 这是我的环境版本: ruby -v ---> ruby 1.9.2p290 (2011-07-09 revision 32553) [x86_64-linux] rvm -v ---> 1.8.1 gem -v ---> 1.6.2 bundle -v ---> Bundler version 1.0.18 在此rvm内爆之后: >我再次安装了2颗ruby 这是我在执行bundle install时知道的(以root用户身份登录): Updating https://github.com/p7r/will_paginate.git Fetching source index for http://rubygems.org/ Installing rake (0.9.2) Installing multi_json (1.0.3) Installing activesupport (3.1.0) Installing bcrypt-ruby (3.0.0) with native extensions /usr/local/rvm/scripts/rvm/rubies/ruby-1.9.2-p290/lib/ruby/site_ruby/1.9.1/rubygems/installer.rb:552:in `rescue in block in build_extensions': ERROR: Failed to build gem native extension. (Gem::Installer::ExtensionBuildError) /usr/local/rvm/scripts/rvm/rubies/ruby-1.9.2-p290/bin/ruby extconf.rb Gem files will remain installed in /usr/local/rvm/scripts/rvm/gems/ruby-1.9.2-p290@app/gems/bcrypt-ruby-3.0.0 for inspection. Results logged to /usr/local/rvm/scripts/rvm/gems/ruby-1.9.2-p290@app/gems/bcrypt-ruby-3.0.0/ext/mri/gem_make.out [ removed the backtrace ] 但是,如果我只使用gem install bcrypt,gem安装正确,我可以使用bundle install,它将运行到具有原生扩展的下一个gem … 我在ruby-1.9.2-p180安装时遇到了同样的问题,我尝试将RubyGems降级到不同的版本,直到1.5.3,我崩溃了我的RVM ……我在网上看了很多寻求答案,这个问题似乎反复出现,但对我来说没有任何作用. 在此先感谢您的帮助! 解决方法
这可能是由于内存不足以编译本机扩展.根据我的经验,bundle install比简单地使用gem install更加占用内存.查看/ var / log / messages,看看是否存在任何此类问题.此外,使用top来识别任何重量级进程,例如同事离开rails控制台在屏幕会话中运行. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |