2016-05-27 197 views
0

我目前正在使用Capistrano-rbenv部署一個應用程序。我試圖託管的服務器已經有多個應用程序設置和運行。對於使用ruby版本管理器rbenv,已經有多個版本的ruby設置,並且全局設置爲ruby「1.8.7」。我正在部署的當前應用程序現在使用ruby 2.1.5。我已經安裝了所需的ruby版本,並且當我嘗試部署w.r.​​t環境時會發布這些版本,但是當資源:預編譯發生時存在問題。雖然預編譯捆綁軟件寶石來自全球寶石集版本,而不是從2.1.5紅寶石寶石。下面我提到了錯誤以及我目前的設置。Capistrano部署與rbenv

error: 
     /usr/lib64/ruby/gems/1.8/gems/bundler-1.8.5/lib/bundler/spec_set.rb:92:in `materialize': Could not find rake-10.4.2 in any of the sources (Bundler::GemNotFound) 

from /usr/lib64/ruby/gems/1.8/gems/bundler-1.8.5/lib/bundler/spec_set.rb:85:in `map!' 
    from /usr/lib64/ruby/gems/1.8/gems/bundler-1.8.5/lib/bundler/spec_set.rb:85:in `materialize' 
    from /usr/lib64/ruby/gems/1.8/gems/bundler-1.8.5/lib/bundler/definition.rb:132:in `specs' 
    from /usr/lib64/ruby/gems/1.8/gems/bundler-1.8.5/lib/bundler/definition.rb:177:in `specs_for' 
    from /usr/lib64/ruby/gems/1.8/gems/bundler-1.8.5/lib/bundler/definition.rb:166:in `requested_specs' 
    from /usr/lib64/ruby/gems/1.8/gems/bundler-1.8.5/lib/bundler/environment.rb:18:in `requested_specs' 
    from /usr/lib64/ruby/gems/1.8/gems/bundler-1.8.5/lib/bundler/runtime.rb:13:in `setup' 
    from /usr/lib64/ruby/gems/1.8/gems/bundler-1.8.5/lib/bundler.rb:122:in `setup' 
    from /usr/lib64/ruby/gems/1.8/gems/bundler-1.8.5/lib/bundler/setup.rb:18 

deploy.rb setup 

# Server 
# set :default_environment, { 
# path: '/home/deployer/.rbenv/shims:/home/deployer/.rbenv/bin', 
# rbenv_root: '/home/deployer/.rbenv' 
# } 

set :user, 'deployer' 
set :rbenv_type, :user 
#set :bundle_dir, "/home/deployer/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0" 
set :rbenv_ruby, '2.1.5' 
# set :rbenv_ruby_dir, '/home/deployer/.rbenv/versions/2.1.5' 
# set :bundle_cmd, "#{release_path}/bin/bundle" 
# set :rbenv_custom_path, '/home/deployer/.rbenv' 
set :rbenv_path, '/home/deployer/.rbenv' 
set :rbenv_prefix, "RBENV_ROOT=#{fetch(:rbenv_path)} RBENV_VERSION=#{fetch(:rbenv_ruby)} #{fetch(:rbenv_path)}/bin/rbenv exec" 

但是,當我嘗試從發佈文件夾中的任何版本的捆綁銷售,它運行良好,沒有任何錯誤。我究竟做錯了什麼 ?

我無法將2.1.5設置爲全局服務器,因爲許多其他應用程序都依賴它。

Any Advise會有幫助。

在此先感謝。

回答

0

如何在您的應用程序路徑中創建一個.ruby-version文件?

cd /path/to/app/ 
echo 2.1.5 > .ruby-version 
ruby -v 
bundle install 

檢入更改並嘗試再次進行部署。

+0

嘗試,現在也使用。但是,在我的應用程序中使用了Capistrano-rails gem的問題,由於某種原因,它不能讓我選擇路徑。但任何方式感謝您的建議。 – rajesh023