2013-02-18 133 views
2

我使用capistrano将我的rails应用程序部署到我的vps。我有问题时cap deploy update用capistrano(rbenv)部署时出现捆绑错误

的错误信息是这样的:

** [out :: 1] Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension. 
** [out :: 1] 
** [out :: 1] /usr/bin/ruby1.9.1 extconf.rb 
** [out :: 1] 
** [out :: 1] 
** [out :: 1] Gem files will remain installed in /home/deployer/apps/get-real/shared/bundle/ruby/1.9.1/gems/raindrops-0.10.0 for inspection. 
** [out :: 1] 
** [out :: 1] Results logged to /home/deployer/apps/get-real/shared/bundle/ruby/1.9.1/gems/raindrops-0.10.0/ext/raindrops/gem_make.out 
** [out :: 1] 
** [out :: 1] An error occurred while installing raindrops (0.10.0), and Bundler cannot continue. 
** [out :: 1] 
** [out :: 1] Make sure that `gem install raindrops -v '0.10.0'` succeeds before bundling. 

我尝试运行赞扬我的服务器上gem install raindrops -v '0.10.0'并取得成功。但是当我再次运行cap deploy:update时,它会失败并显示相同的错误消息。

我之前有过这个问题,我尝试了一些方法,它工作。但现在我忘了我做了什么使它工作...

+0

什么是您的服务器的操作系统?正如它在[gem description](http://rubygems.org/gems/raindrops)中所说的那样,它依赖于POSIX共享内存,所以例如在我的Win64机器上,bulding本地扩展会失败,检查sys中的mmap() /mman.h ...没有找到mmap()。其他原因可能没有在PATH中构建工具(make,gcc)。你确定你已经成功运行了你从**部署的同一个用户的'gem install raindrops' **吗? – NIA 2013-02-18 15:24:01

+0

@NIA我使用Ubuntu作为我的服务器操作系统。我使用相同的用户来运行'gem install rainsdrops'。 – aisensiy 2013-02-18 15:29:30

+0

'/home/deployer/apps/get-real/shared/bundle/ruby/1.9.1/gems/raindrops-0.10.0/ext/raindrops/gem_make.out'是什么意思? – cthulhu 2013-02-18 15:48:08

回答

0

我解决了这个问题。

我只是去/home/deployer/apps/get-real/shared/bundle/ruby/1.9.1/gems/和运行gem install raindrops -v '0.10.0'