Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails SSHKit::Runner::ExecuteError:执行时发生异常_Ruby On Rails_Ruby_Capistrano - Fatal编程技术网

Ruby on rails SSHKit::Runner::ExecuteError:执行时发生异常

Ruby on rails SSHKit::Runner::ExecuteError:执行时发生异常,ruby-on-rails,ruby,capistrano,Ruby On Rails,Ruby,Capistrano,我在尝试通过gem Capistrano将我的应用程序部署到主机时遇到问题 我有下一个错误列表: (Backtrace restricted to imported tasks) cap aborted! SSHKit::Runner::ExecuteError: Exception while executing as hosting_yurta24@calcium.locum.ru: rake exit status: 1 我的deploy.rb文件是: lock '

我在尝试通过gem Capistrano将我的应用程序部署到主机时遇到问题

我有下一个错误列表:

   (Backtrace restricted to imported tasks)
    cap aborted!
    SSHKit::Runner::ExecuteError: Exception while executing as hosting_yurta24@calcium.locum.ru: rake exit status: 1
我的deploy.rb文件是:

lock '3.4.0'

    application = 'yurta24'
    login = 'yurta24'
    $user = 'hosting_' + login
    $server = 'calcium.locum.ru'
    rvm_ruby_string = '2.1.5p273'
    deploy_to = "/home/#{ $user }/projects/#{ application }"
    unicorn_conf = "/etc/unicorn/#{ application }.#{ login }.rb"
    unicorn_pid = "/var/run/unicorn/#{ $user }/#{ application }.#{ login }.pid"
    unicorn_start_cmd = "(cd #{ deploy_to }/current; rvm use #{ rvm_ruby_string } do bundle exec unicorn_rails -Dc #{ unicorn_conf })"

    set :application, application 
    set :repo_url, "https://github.com/verrom/yurta24.git"
    set :deploy_to, deploy_to
    set :pty, true
    set :default_env, { path: "xxxxx" }
    namespace :deploy do

      after :restart, :clear_cache do
        on roles(:web), in: :groups, limit: 3, wait: 10 do
        end
      end
connect_to = "#{$user}@#{$server}"
role :app, [connect_to]
role :web, [connect_to]
role :db,  [connect_to]
set :enable_ssl, true
我的production.rb文件是:

lock '3.4.0'

    application = 'yurta24'
    login = 'yurta24'
    $user = 'hosting_' + login
    $server = 'calcium.locum.ru'
    rvm_ruby_string = '2.1.5p273'
    deploy_to = "/home/#{ $user }/projects/#{ application }"
    unicorn_conf = "/etc/unicorn/#{ application }.#{ login }.rb"
    unicorn_pid = "/var/run/unicorn/#{ $user }/#{ application }.#{ login }.pid"
    unicorn_start_cmd = "(cd #{ deploy_to }/current; rvm use #{ rvm_ruby_string } do bundle exec unicorn_rails -Dc #{ unicorn_conf })"

    set :application, application 
    set :repo_url, "https://github.com/verrom/yurta24.git"
    set :deploy_to, deploy_to
    set :pty, true
    set :default_env, { path: "xxxxx" }
    namespace :deploy do

      after :restart, :clear_cache do
        on roles(:web), in: :groups, limit: 3, wait: 10 do
        end
      end
connect_to = "#{$user}@#{$server}"
role :app, [connect_to]
role :web, [connect_to]
role :db,  [connect_to]
set :enable_ssl, true
更新数据库后完整更新的错误报告。yml为:

verevkinra@ubuntu:~/apps/yurta24$ cap production deploy
DEBUG [191cfb48] Running /usr/bin/env [ -d ~/.rvm ] as hosting_yurta24@calcium.locum.ru
DEBUG [191cfb48] Command: [ -d ~/.rvm ]
Text will be echoed in the clear. Please install the HighLine or Termios libraries to suppress echoed text.
hosting_yurta24@calcium.locum.ru's password:xxxxxxxxxxx
DEBUG [191cfb48] Finished in 5.999 seconds with exit status 1 (failed).
DEBUG [cba4e265] Running /usr/bin/env [ -d /usr/local/rvm ] as hosting_yurta24@calcium.locum.ru
DEBUG [cba4e265] Command: [ -d /usr/local/rvm ]
DEBUG [cba4e265] Finished in 0.171 seconds with exit status 0 (successful).
DEBUG [363e1014] Running /usr/local/rvm/bin/rvm version as hosting_yurta24@calcium.locum.ru
DEBUG [363e1014] Command: ( PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/usr/local/rvm/bin /usr/local/rvm/bin/rvm version )
DEBUG [363e1014]    rvm 1.26.11 (latest) by Wayne E. Seguin <wayneeseguin@gmail.com>, Michal Papis <mpapis@gmail.com> [https://rvm.io/]
DEBUG [363e1014] Finished in 0.374 seconds with exit status 0 (successful).
rvm 1.26.11 (latest) by Wayne E. Seguin <wayneeseguin@gmail.com>, Michal Papis <mpapis@gmail.com> [https://rvm.io/]
DEBUG [0810a260] Running /usr/local/rvm/bin/rvm current as hosting_yurta24@calcium.locum.ru
DEBUG [0810a260] Command: ( PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/usr/local/rvm/bin /usr/local/rvm/bin/rvm current )
DEBUG [0810a260]    system
DEBUG [0810a260] Finished in 0.391 seconds with exit status 0 (successful).
system
DEBUG [769f1945] Running /usr/local/rvm/bin/rvm default do ruby --version as hosting_yurta24@calcium.locum.ru
DEBUG [769f1945] Command: ( PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/usr/local/rvm/bin /usr/local/rvm/bin/rvm default do ruby --version )
DEBUG [769f1945]    ruby 2.1.5p273 (2014-11-13) [x86_64-linux-gnu]
DEBUG [769f1945]    
DEBUG [769f1945] Finished in 0.605 seconds with exit status 0 (successful).
ruby 2.1.5p273 (2014-11-13) [x86_64-linux-gnu]
INFO [b1cf993c] Running /usr/bin/env mkdir -p /tmp/yurta24/ as hosting_yurta24@calcium.locum.ru
DEBUG [b1cf993c] Command: ( PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/usr/local/rvm/bin /usr/bin/env mkdir -p /tmp/yurta24/ )
INFO [b1cf993c] Finished in 0.170 seconds with exit status 0 (successful).
DEBUG Uploading /tmp/yurta24/git-ssh.sh 0.0%
(Backtrace restricted to imported tasks)
cap aborted!
SSHKit::Runner::ExecuteError: Exception while executing as hosting_yurta24@calcium.locum.ru: scp: /tmp/yurta24/git-ssh.sh: Permission denied

scp: /tmp/yurta24/git-ssh.sh: Permission denied

Tasks: TOP => git:check => git:wrapper
(See full trace by running task with --trace)
The deploy has failed with an error: Exception while executing as hosting_yurta24@calcium.locum.ru: scp: /tmp/yurta24/git-ssh.sh: Permission denied
verevkinra@ubuntu:~/apps/yurta24$ git checkout
M   config/deploy.rb
verevkinra@ubuntu:~/apps/yurta24$cap生产部署
调试[191cfb48]作为主机运行/usr/bin/env[-d~/.rvm]_yurta24@calcium.locum.ru
调试[191cfb48]命令:[-d~/.rvm]
文本将以清晰的方式回响。请安装HighLine或Termios库以抑制回显文本。
主持_yurta24@calcium.locum.ru的密码:XXXXXXXXXX
调试[191cfb48]在5.999秒内完成,退出状态为1(失败)。
调试[cba4e265]作为主机运行/usr/bin/env[-d/usr/local/rvm]_yurta24@calcium.locum.ru
调试[cba4e265]命令:[-d/usr/local/rvm]
调试[cba4e265]在0.171秒内完成,退出状态为0(成功)。
调试[363e1014]作为主机运行/usr/local/rvm/bin/rvm版本_yurta24@calcium.locum.ru
调试[363e1014]命令:(PATH=/usr/local/bin:/usr/bin:/usr/local/games:/usr/games:/usr/games:/usr/local/rvm/bin/usr/local/rvm/bin/rvm版本)
调试[363e1014]rvm 1.26.11(最新版本),由Wayne E.Seguin,Michal Papis编写[https://rvm.io/]
调试[363e1014]在0.374秒内完成,退出状态为0(成功)。
rvm 1.26.11(最新版本)作者:韦恩E.塞根,迈克尔·帕皮斯[https://rvm.io/]
调试[0810a260]作为主机运行/usr/local/rvm/bin/rvm current_yurta24@calcium.locum.ru
调试[0810a260]命令:(PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/usr/games:/usr/local/rvm/bin/usr/local/rvm/bin/rvm当前)
调试[0810a260]系统
调试[0810a260]在0.391秒内完成,退出状态为0(成功)。
系统
调试[769f1945]运行/usr/local/rvm/bin/rvm default do ruby--version作为宿主_yurta24@calcium.locum.ru
调试[769f1945]命令:(PATH=/usr/local/bin:/usr/bin:/usr/local/games:/usr/games:/usr/games:/usr/local/rvm/bin/usr/local/rvm/bin/rvm默认do ruby--version)
调试[769f1945]ruby 2.1.5p273(2014-11-13)[x86_64-linux-gnu]
调试[769f1945]
调试[769f1945]在0.605秒内完成,退出状态为0(成功)。
ruby 2.1.5p273(2014-11-13)[x86_64-linux-gnu]
信息[b1cf993c]正在运行/usr/bin/env mkdir-p/tmp/yurta24/as主机_yurta24@calcium.locum.ru
调试[b1cf993c]命令:(PATH=/usr/local/bin:/usr/bin:/usr/local/games:/usr/games:/usr/games:/usr/local/rvm/bin/usr/bin/env mkdir-p/tmp/yurta24/)
信息[b1cf993c]在0.170秒内完成,退出状态为0(成功)。
调试上传/tmp/yurta24/git-ssh.sh 0.0%
(回溯仅限于导入的任务)
帽子流产了!
SSHKit::Runner::ExecuteError:作为宿主执行时发生异常_yurta24@calcium.locum.ru:scp:/tmp/yurta24/git-ssh.sh:权限被拒绝
scp:/tmp/yurta24/git-ssh.sh:权限被拒绝
任务:TOP=>git:check=>git:wrapper
(通过使用--trace运行任务查看完整跟踪)
部署失败,错误为:作为宿主执行时发生异常_yurta24@calcium.locum.ru:scp:/tmp/yurta24/git-ssh.sh:权限被拒绝
verevkinra@ubuntu:~/apps/yurta24$git签出
M config/deploy.rb

谢谢

所以capistrano报告说您在database.yml产品中缺少数据库适配器。您似乎错误地将postgresql作为数据库名而不是适配器名

在database.yml中,您应该具有以下内容:

development:
  adapter: sqlite3
  database: db/development.sqlite3
  pool: 5
  timeout: 5000

test:
  adapter: sqlite3
  database: db/test.sqlite3
  pool: 5
  timeout: 5000

production:
  adapter: postgresql
  database: you_app_name_production
  username: yourdatabaseusername #in most cases this will be postgres
  password: youdatabasepassword
  pool: 5
  timeout: 5000
在Gemfile中,确保开发和测试gourp中有sqlite gem,生产中有postgres gem(pg),如下所示:

group :development, :test do
  # all your other dev and test gems
  gem 'sqlite3'
end

# outsite your developement and test group add this
gem 'pg'
现在!运行
bundle安装
然后
cap production deploy:检查
是否一切顺利。您可能需要为远程服务器postgres配置用户名和密码

如果您还面临进一步的问题,您可以按照完整的指南来将Rails 4应用程序(Nginx+Capistrano+Unicorn)部署到您的Ubuntu VPS


希望这有帮助。

我们能看到完整的错误报告吗?什么时候失败?它在失败之前是否经过了特定的capistrano配方?请尝试$cap production deploy:check,是否报告了相同的错误?@moeabdo,您好。我已经更新了我的问题。是的,它在失败之前要经过一个特殊的capistrano配方。是的,我想,错误是一样的。你能给你看一下数据库吗。yml“ActiveRecord::AdapterNotSpecified:数据库配置没有指定适配器”@moeabdol,我更新了一个问题。那不行。。我已经更新了我的问题。在database.yml中,我已将you_app_name_production更改为DB name,hoster给了我什么,对吗?应该是yurta24_production我已将you_app_name_production更改为yurta24_production,错误相同。抱歉,错误是另一个。我在问题中更新了日志。您似乎有权限问题!你试过按照我在答案中链接的教程吗?