我正试图在vexxhost上首次部署我的rails应用程序。我使用github作为我的源代码管理和capistrano。
这是我的部署文件
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 行时,它已成功运行但无法识别宝石
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中是否有任何遗漏或者我没有做任何事情。
请我帮忙,我已经很长时间没有这个问题了。我是新部署的网络应用程序和铁路对我来说非常困难
请帮助
答案 0 :(得分:1)
问题2&amp; 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
和/或capistrano-vexxhost
添加到deploy.rb
。