2012-04-11 23 views
0

这是我最喜欢的rails部署试用版。找不到RubyGem打包程序,只能通过第

我设置管理在服务器端

所有的依赖关系,当我键入

bundle exec rails console 

一切工作正常。迁移本地

[.com] sh -c 'cd /home//.com/releases/20120411120423 && bundle  install --gemfile /home//.com/releases/20120411120423/Gemfile --path /home//.com/shared/bundle --deployment --quiet --without development test' 
** [out ::.com] /usr/lib/ruby/1.8/rubygems.rb:779:in `report_activate_error':  Could not find RubyGem bundler (>= 0) (Gem::LoadError 
** [out ::.com]) 
** [out ::.com] from /usr/lib/ruby/1.8/rubygems.rb:214:in `activate' 
** [out ::.com] from /usr/lib/ruby/1.8/rubygems.rb:1082:in `gem' 
** [out ::.com] from /home//.gems/bin/bundle:18 
command finished in 539ms 

当我手动复制命令和它完美的服务器执行它:当我运行帽部署,我得到这个奇怪的问题!

这是我的deploy.rb文件

require "bundler/capistrano" 

default_run_options[:pty] = true 
set :user, 'xyz' 
set :domain, 'xyz.com' 
set :application, 'xyz' 

set :repository, "#{user}@#{domain}:git/#{application}.git" 
set :deploy_to, "/home/#{user}/#{domain}" 
set :deploy_via, :remote_cache 
set :scm, 'git' 
set :branch, 'master' 
set :git_shallow_clone, 1 
set :scm_verbose, true 
set :use_sudo, false 

set :rake, "/home//.gems/bin/rake" 

server domain, :app, :web 
role :db, domain, :primary => true 

namespace :deploy do 
    task :restart do 
    run "touch #{current_path}/tmp/restart.txt" 
    end 
end 

更新:

当我从帽启动包-v我得到了正确的位置!

$ cap invoke COMMAND="which bundle" 

输出

/home//.gems/bin/bundle 
+0

:(这是非常重要的。 – aaalsubaie 2012-04-11 16:54:18

回答

0

添加这些行config.ru文件由我搜索计算器的问题,没有人帮助过我的方式解决了这个问题

ENV['GEM_HOME'] = '/home/aaalsubaie/.gems/' 
ENV['GEM_PATH'] = '/usr/lib/ruby/gems/1.8' 

require 'rubygems' 
Gem.clear_paths