Ruby on Rails 3.2.2 uygulamasını Ubuntu 10.04 LTS çalıştıran uzak makineye dağıtmak için Capistrano ve RVM'yi doğru şekilde kullanmaya çalışıyorum. "Rvm - Capistrano integration on Linux Ubuntu" ile ilgili önceki sorunumu çözdüğüm dikişleri. Zaten, hata açıklaması "Kullanmaya isterseniz sizin Gemfile için mücevher 'cinleri' eklemeniz gerekir" dir"Üretim modunda hata" kullanmak istiyorsanız "Gem 'için gem' i gem 'eklemeniz gerekir" nasıl çözülür?
...
* executing "cd /srv/www/<APP_NAME>/releases/20120314135318 && bundle install"
servers: ["<DOMAIN>"]
[<DOMAIN>] executing command
[<DOMAIN>] rvm_path=/usr/local/rvm /usr/local/rvm/bin/rvm-shell 'ruby-1.9.3-p125' -c 'cd /srv/www/<APP_NAME>/releases/20120314135318 && bundle install' ** [out :: <DOMAIN>] Using rake (0.9.2.2)
** [out :: <DOMAIN>] Using builder (3.0.0)
...
** [out :: <DOMAIN>] Using daemons (1.1.8)
** [out :: <DOMAIN>] Using delayed_job (3.0.1)
** [out :: <DOMAIN>] Using delayed_job_active_record (0.3.2)
...
** [out :: <DOMAIN>] Your bundle is complete! It was installed into /srv/www/<APP_NAME>/shared/bundle
...
[<DOMAIN>] executing command
[<DOMAIN>] rvm_path=/usr/local/rvm /usr/local/rvm/bin/rvm-shell 'ruby-1.9.3-p125' -c 'cd /srv/www/<APP_NAME>/current; RAILS_ENV=production script/delayed_job stop'
*** [err :: <DOMAIN>] /usr/local/rvm/gems/ruby-1.9.3-p125/gems/delayed_job-3.0.1/lib/delayed/command.rb:4:in `rescue in <top (required)>'
*** [err :: <DOMAIN>] :
*** [err :: <DOMAIN>] You need to add gem 'daemons' to your Gemfile if you wish to use it.
*** [err :: <DOMAIN>] (
*** [err :: <DOMAIN>] RuntimeError
*** [err :: <DOMAIN>])
*** [err :: <DOMAIN>] from /usr/local/rvm/gems/ruby-1.9.3-p125/gems/delayed_job-3.0.1/lib/delayed/command.rb:1:in `<top (required)>'
*** [err :: <DOMAIN>] from /usr/local/rvm/gems/ruby-1.9.3-p125/gems/activesupport-3.2.2/lib/active_support/dependencies.rb:251:in `require'
*** [err :: <DOMAIN>] from /usr/local/rvm/gems/ruby-1.9.3-p125/gems/activesupport-3.2.2/lib/active_support/dependencies.rb:251:in `block in require'
*** [err :: <DOMAIN>] from /usr/local/rvm/gems/ruby-1.9.3-p125/gems/activesupport-3.2.2/lib/active_support/dependencies.rb:236:in `load_dependency'
*** [err :: <DOMAIN>] from /usr/local/rvm/gems/ruby-1.9.3-p125/gems/activesupport-3.2.2/lib/active_support/dependencies.rb:251:in `require'
*** [err :: <DOMAIN>] from script/delayed_job:4:in `<main>'
command finished in 7512ms
*** [deploy:update_code] rolling back
...
failed: "rvm_path=$HOME/.rvm/ $HOME/.rvm/bin/rvm-shell 'ruby-1.9.3-p125' -c 'cd /srv/www/<APP_NAME>/releases && tar xzf /tmp/20120314140345.tar.gz && rm /tmp/20120314140345.tar.gz'" on <DOMAIN>
bile: Ancak, dağıtma hakkında ben DelayedJob mücevher ilgili aşağıdaki hatayı alıyorum
...
gem 'delayed_job'
gem 'delayed_job_active_record'
gem 'daemons'
...
Yani, sorunu nedir: (hatta ben "cinleri (1.1.8) kullanma" am not yukarıdaki çıkışından) benim Gemfile
için daemons
mücevher eklendi? Bunu nasıl çözebilirim? Benim deploy.rb
dosyasında
Ben:
$:.unshift(File.expand_path('./lib', ENV['rvm_path']))
require 'rvm/capistrano'
set :rvm_ruby_string, 'ruby-1.9.3-p125'
set :rvm_type, :user
require 'bundler/capistrano'
...
dip not: Terminal penceresi çıkışı:
$ ruby -v
> ruby 1.9.3p125 (2012-02-16 revision 34643) [i686-linux]
$ which ruby
> /usr/local/rvm/rubies/ruby-1.9.3-p125/bin/ruby
komut/delayed_job sizindir ya da değil? İçinde bundler gerekli mi? – shingara
@shingara - "Senin olsun ya da değil" ile ne demek istiyorsun? "Script/delayed_job" ile hangi dosyadan bahsediyorsunuz? Ancak, yukarıdaki kod/çıktıda hepsi "mayın" (yani, kod ve çıktılar "gerçek"/"ne kullanıyorum ve alıyorum"). – user502052
oturumunda geçmişte komut başarısız oldu: 'RAILS_ENV = üretim senaryosu/delayed_job stop' Bu betiğin üretilip üretilmediğini veya oluşturup oluşturmayacağını bilmek istiyorum. – shingara