2013-02-18 131 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'