2
我想知道如果在RVM/Capistrano的,使rvmsudo特定交換機。沒有它,我得到這樣的錯誤:
* executing "cd /home/Blog/releases/20110826194116 && bundle install --gemfile /home/Blog/releases/20110826194116/Gemfile --path /home/Blog/shared/bundle --deployment --quiet --without development test"
servers: ["199.168.0.1"]
[199.168.0.1] executing command
*** [err :: 199.168.0.1] /usr/local/rvm/rubies/ruby-1.9.2-p290/lib/ruby/site_ruby/1.9.1/rubygems/installer.rb:551:in `rescue in block in build_extensions': ERROR: Failed to build gem native extension. (Gem::Installer::ExtensionBuildError)
*** [err :: 199.168.0.1]
*** [err :: 199.168.0.1] /usr/local/rvm/rubies/ruby-1.9.2-p290/bin/ruby extconf.rb
*** [err :: 199.168.0.1] creating Makefile
*** [err :: 199.168.0.1]
*** [err :: 199.168.0.1] make
*** [err :: 199.168.0.1] sh: make: Permission denied
因爲這有時間限制,所以我繼續添加了一個'after deploy:update_code'過濾器,用於處理rvmsudo中的軟件包更新。我也在RVM郵件列表上詢問了這個問題,但沒有回覆http://groups.google.com/group/rubyversionmanager/browse_thread/thread/cb85821e060dfe3d# –
爲什麼你在部署時在rvm級別安裝gem的任何特殊原因?我會建議做捆綁安裝 - 部署,而不是;它會在代碼樹中展開「已安裝的副本」以供代碼使用。 – Nick
好點,尼克,生病看看 –