瞎扯淡 部署项目的时候因为耗光内存然后 bundle install 不能一次成功>_<

oa414 · 2014年03月13日 · 最后由 umhan35 回复于 2014年03月14日 · 3135 次阅读

最新部署了两个小东西

一个是 Sinatra 的项目,部署到阿里云。 一个是 Rails4 的项目,部署到 DigitalOcean。

VPS 都是 512MB 内存的最低配置。

两个在部署的时候都碰到了一个之前没遇上的错误,无论是手工运行还是通过 Capistrano 部署的时候都会报类似以下的错误:

Gem::Ext::BuildError: ERROR: Failed to build gem native extension.
DEBUG [f444127f]    
DEBUG [f444127f]        /home/web/.rvm/rubies/ruby-2.1.1/bin/ruby extconf.rb 
DEBUG [f444127f]    Cannot allocate memory - /home/web/.rvm/rubies/ruby-2.1.1/bin/ruby extconf.rb  2>&1

额,解决也很简单,自己在 ssh 上手动先用 gem install XXX -v XX 装好 Gem,再进行 bundle install 就成功了。。

不知消耗内存的是 Ruby 还是编译本地扩展。。。

有遇到同样的问题。正常来说安装 gem 不会出现,但在安装例如 nokogiri 的需要本地编译的 gem 时就会爆内存。

DigitalOcean 的应用多大流量?512M 够用?

加内存……

遇到同样的问题。我会停了 mysql 再 bundle

bundle cache,然后把 gem 文件 commit 后会快很多

需要 登录 后方可回复, 如果你还没有账号请 注册新账号