0

Rails アプリケーションを vexxhost に初めてデプロイしようとしています。ソースコード管理とカピストラーノとして github を使用しています。

ここに私の展開ファイルがあります

   require 'bundler/capistrano'
   require 'capistrano'
   require 'bundler'
   require 'capistrano-vexxhost'

   # Account Settings

   ssh_options[:forward_agent] = true
   set :scm_command, "/home/user/opt/bin/git"
   set :local_scm_command,"git"
   set :user, "xxxxxxxx"
   set :password, "xxxxxxxxx"
   set :domain, "domain.com"
   set :mount_path,"/home/xxxxxxxx/xxxxxxx"
   set :application,"app name"
   set :scm, :git
   set :deploy_via, :copy
   set :repository, "git@github.com:xxxxx/xxxxxxx.git"
   default_run_options[:pty] = true

問題 1)

gem 'capistrano' gem 'capistrano-vexxhost' をインストールするとすぐに、アプリケーションをローカルで実行しようとすると次のエラーが発生しました (capistrano をインストールする前に動作していました)。

 C:/Ruby193/lib/ruby/gems/1.9.1/gems/capistrano-2.14.1/lib/capistrano/configuration/loading.rb:18:in `instance': Please require this file from within a Capistrano recipe (LoadError)
    from C:/Ruby193/lib/ruby/gems/1.9.1/gems/capistrano-vexxhost-1.0.3/lib/capistrano-vexxhost/capistrano_integration.rb:6:in `<top (required)>'
    from C:/Ruby193/lib/ruby/gems/1.9.1/gems/capistrano-vexxhost-1.0.3/lib/capistrano-vexxhost.rb:2:in `require'
    from C:/Ruby193/lib/ruby/gems/1.9.1/gems/capistrano-vexxhost-1.0.3/lib/capistrano-vexxhost.rb:2:in `<top (required)>'
    from C:/Ruby193/lib/ruby/gems/1.9.1/gems/bundler-1.2.3/lib/bundler/runtime.rb:68:in `require'
    from C:/Ruby193/lib/ruby/gems/1.9.1/gems/bundler-1.2.3/lib/bundler/runtime.rb:68:in `block (2 levels) in require'
    from C:/Ruby193/lib/ruby/gems/1.9.1/gems/bundler-1.2.3/lib/bundler/runtime.rb:66:in `each'
    from C:/Ruby193/lib/ruby/gems/1.9.1/gems/bundler-1.2.3/lib/bundler/runtime.rb:66:in `block in require'
    from C:/Ruby193/lib/ruby/gems/1.9.1/gems/bundler-1.2.3/lib/bundler/runtime.rb:55:in `each'
    from C:/Ruby193/lib/ruby/gems/1.9.1/gems/bundler-1.2.3/lib/bundler/runtime.rb:55:in `require'
    from C:/Ruby193/lib/ruby/gems/1.9.1/gems/bundler-1.2.3/lib/bundler.rb:128:in `require'
    from C:/Users/mummy/LagoAds/config/application.rb:9:in `<top (required)>'
    from C:/Ruby193/lib/ruby/gems/1.9.1/gems/railties-3.2.6/lib/rails/commands.rb:53:in     `require'
    from C:/Ruby193/lib/ruby/gems/1.9.1/gems/railties-3.2.6/lib/rails/commands.rb:53:in `block in <top (required)>'
    from C:/Ruby193/lib/ruby/gems/1.9.1/gems/railties-3.2.6/lib/rails/commands.rb:50:in `tap'
    from C:/Ruby193/lib/ruby/gems/1.9.1/gems/railties-3.2.6/lib/rails/commands.rb:50:in `<top (required)>'
    from script/rails:6:in `require'
    from script/rails:6:in `<main>'

しかし、application.rbファイルの次のコードからBundler.require行にコメントするとすぐに、正常に実行されますが、gemが認識されません

  if defined?(Bundler)
  # If you precompile assets before deploying to production, use this line
  Bundler.require(*Rails.groups(:assets => %w(development test)))
  # If you want your assets lazily compiled in production, use this line
  # Bundler.require(:default, :assets, Rails.env)
  end

問題 2) Ruby コマンド プロンプトで「cap deploy:check」と入力すると、次のエラーが表示されます。 ここに画像の説明を入力

問題 3) Ruby コマンド プロンプトで「cap deploy:cold」と入力すると、次のエラーが表示されます。

ここに画像の説明を入力

私の deploy.rb に欠けているものはありますか、それとも私がしなかったことはありますか?

助けが必要です。私はこの問題に非常に長い間取り組んできました。私は Web アプリケーションをデプロイするのが初めてで、Rails は私にとって非常に困難でした

助けてください

4

1 に答える 1

1

問題 2 と 3 2 番目と 3 番目の問題は、パスに git と tar がないことが原因です。まったくインストールされていないか、パスが不完全です。以下に引用したエラーを参照してください。

問題2

 'git' could not be found on the local host
 'tar' could not be found on the local host

問題3

 no such file or directory git ls-remote...

問題1

残念ながら、#1 については答えがありません。capistranoにand/orを追加する必要があると推測capistrano-vexxhostされますdeploy.rb

于 2013-02-11T20:51:34.883 に答える