Capistrano, проблема с расслоением связок - PullRequest
2 голосов
/ 20 декабря 2010

Извините за длинный заголовок :).Возникли некоторые проблемы с Capistrano (хотя проблема могла быть связана с компоновщиком).Попытка развернуть приложение Rails 3 на Linode (Ubuntu 10.04 LTS).Я думал, что это может быть проблема с RVM, но я все еще получаю проблему без использования RVM на сервере.

Вот ошибка, которую я получаю, когда запускаю «cap deploy: update» (настройка и проверка запускаются нормально)

  * executing "bundle install --gemfile /home/deploy/rails_apps/deed/releases/20101220040406/Gemfile --path /home/deploy/rails_apps/deed/shared/bundle --deployment --quiet --without development test"
    servers: ["myserver"]
    [myserver] executing command
 ** [out :: myserver] The path `/home/deploy/Documents/Rails_Projects/deed/vendor/gems` does not exist.
    command finished

Вот мой deploy.rb

require 'bundler/capistrano'

set :domain, "mydomain"

set :application, "deed"
set :repository,  "deploy@#{domain}:~/deed.git"

set :scm, :git

# Or: `accurev`, `bzr`, `cvs`, `darcs`, `git`, `mercurial`, `perforce`, `subversion` or `none`
set :user, "deploy"
set :deploy_to, "/home/deploy/rails_apps/#{application}"
role :web, domain                          # Your HTTP server, Apache/etc
role :app, domain                          # This may be the same as your `Web` server
role :db,  domain, :primary => true # This is where Rails migrations will run

# If you are using Passenger mod_rails uncomment this:
# if you're still using the script/reapear helper you will need
# these http://github.com/rails/irs_process_scripts
default_run_options[:pty] = true  # Must be set for the password prompt from git to work

set :default_environment, { 
  'PATH' => "/opt/ruby-enterprise-1.8.7-2010.02/bin:$PATH",
  'RUBY_VERSION' => 'ruby 1.8.7',
  'GEM_HOME' => '/opt/ruby-enterprise-1.8.7-2010.02/lib/ruby/gems/1.8/',
  'GEM_PATH' => '/opt/ruby-enterprise-1.8.7-2010.02/lib/ruby/gems/1.8/',
  'BUNDLE_PATH' => '/opt/ruby-enterprise-1.8.7-2010.02/lib/ruby/gems/1.8/'
}

namespace :deploy do
  task :start do ; end
  task :stop do ; end
  task :restart, :roles => :app, :except => { :no_release => true } do
    run "#{try_sudo} touch #{File.join(current_path,'tmp','restart.txt')}"
  end
end

Ответы [ 2 ]

0 голосов
/ 20 декабря 2010

Должен ли я просто переопределить этот контроллер Devise в своем приложении, вместо того, чтобы ссылаться на него локально, а затем редактировать его?

Да, абсолютно. Посмотрите на генераторы, которые поставляются с Devise, особенно для представлений и контроллеров: http://rubydoc.info/github/plataformatec/devise/master/file/README.rdoc#Configuring_views. Вы захотите создать user_controller и переопределить там функциональность devise.

0 голосов
/ 20 декабря 2010

Проблема заключалась в том, что в моем Gemfile было

gem 'devise', :path => '~/Documents/Rails_Projects/deed/vendor/gems'

, так как я хотел изменить направление перенаправления Devise после создания пользователя, поэтому я просто отредактировал гем.Удаление жестко закодированного пути в Gemfile решило проблему, хотя я не смог найти путь, который работал бы.

Должен ли я просто переопределить этот контроллер Devise в своем приложении, вместо того, чтобы ссылаться на него локально, а затем редактировать его?

...