0

Во-первых, у меня есть рельсы приложений для разработки на ubuntu, используя rvm 1.15.8 (stable) by wayne, и я разворачиваю их на свои vps.Невозможно развернуть приложение с помощью RVM Capistrano

Вот история сборки рельсы приложение на мой VPS:

  1. Установка RVM с помощью пользователя "пользователь" на мой VPS, я пытался от this, и вот это rvm info

    [[email protected] ~]$ rvm info 
    
    ruby-1.9.3-p392: 
    
        system: 
        uname:  "Linux mydomain.com 2.6.32-358.6.1.el6.i686 #1 SMP Tue Apr 2 
    3 18:13:20 UTC 2013 i686 i686 i386 GNU/Linux" 
        system:  "centos/6.4/i386" 
        bash:  "/bin/bash => GNU bash, version 4.1.2(1)-release (i386-redhat-l 
    inux-gnu)" 
        zsh:   " => not installed" 
    
        rvm: 
        version:  "rvm 1.19.6 (stable) by Wayne E. Seguin <[email protected] 
    m>, Michal Papis <[email protected]> [https://rvm.io/]" 
        updated:  "16 hours 9 minutes 44 seconds ago" 
    
        ruby: 
        interpreter: "ruby" 
        version:  "1.9.3p392" 
        date:   "2013-02-22" 
        platform:  "i686-linux" 
        patchlevel: "2013-02-22 revision 39386" 
        full_version: "ruby 1.9.3p392 (2013-02-22 revision 39386) [i686-linux]" 
    
        homes: 
        gem:   "/usr/local/rvm/gems/ruby-1.9.3-p392" 
        ruby:   "/usr/local/rvm/rubies/ruby-1.9.3-p392" 
    
        binaries: 
        ruby:   "/usr/local/rvm/rubies/ruby-1.9.3-p392/bin/ruby" 
        irb:   "/usr/local/rvm/rubies/ruby-1.9.3-p392/bin/irb" 
        gem:   "/usr/local/rvm/rubies/ruby-1.9.3-p392/bin/gem" 
        rake:   "/usr/local/rvm/gems/ruby-1.9.3-p392/bin/rake" 
    
        environment: 
        PATH:   "/usr/local/rvm/gems/ruby-1.9.3-p392/bin:/usr/local/rvm/gems/r 
    [email protected]/bin:/usr/local/rvm/rubies/ruby-1.9.3-p392/bin:/usr/local/r 
    vm/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/user/bin" 
        GEM_HOME:  "/usr/local/rvm/gems/ruby-1.9.3-p392" 
        GEM_PATH:  "/usr/local/rvm/gems/ruby-1.9.3-p392:/usr/local/rvm/gems/ruby- 
    [email protected]" 
        MY_RUBY_HOME: "/usr/local/rvm/rubies/ruby-1.9.3-p392" 
        IRBRC:  "/usr/local/rvm/rubies/ruby-1.9.3-p392/.irbrc" 
        RUBYOPT:  "" 
        gemset:  "" 
    
  2. I 'm используя панель управления kloxo для моих vps с корнем каталога на /home/admin/myapp/public

  3. Я развожу, d вот deploy.rb

require "bundler/capistrano" 
require "rvm/capistrano" 

server "xxx.xxx.xxx.xxx", :web, :app, :db, primary: true 

set :bundle_cmd, "/usr/local/rvm/gems/[email protected]" 
set :bundle_dir, "/usr/local/rvm/gems/ruby-1.9.3-p392" 
set :rvm_ruby_string, EVN['GEM_HOME'].gsub(/.*\?/,"") 
set :rvm_type, :user 

set :default_environment, { 
    'PATH' => "/usr/local/rvm/gems/ruby-1.9.3-p392/bin:/usr/local/rvm/gems/r 
[email protected]/bin:/usr/local/rvm/rubies/ruby-1.9.3-p392/bin:/usr/local/r 
vm/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/user/bin", 
    'RUBY_VERSION' => 'ruby 1.9.3', 
    'GEM_HOME' => "/usr/local/rvm/gems/ruby-1.9.3-p392", 
    'GEM_PATH' => "/usr/local/rvm/gems/ruby-1.9.3-p392:/usr/local/rvm/gems/ruby- 
[email protected]", 
    'BUNDLE_PATH' => "/usr/local/rvm/gems/ruby-1.9.3-p392" 
} 

set :application, "myapp" 
set :user, "user" 
set :deploy_to, "/home/admin/#{application}" 
set :deploy_via, :remote_cache 
set :use_sudo, false 

set :scm, "git" 
set :repository, "[email protected]:myuser/#{application}.git" 
set :branch, "master" 

default_run_options[:pty] = true 
ssh_options[:forward_agent] = true 
after "deploy", "deploy:cleanup" # keep only the 

Я пытаюсь запустить cap deploy:setup, я получил ошибку

executing "mkdir -p /home/admin/myapp /home/admin/myapp/release /home/admin/myapp/shared /home/admin/myapp/shared/system /home/admin/myapp/shared/log /home/admin/myapp/shared/pids" 
    servers: ["xxx.xxx.xxx.xx"] 
Password: 
    [xxx.xxx.xxx.xxx] executing command 
** [out :: xxx.xxx.xxx.xxx] env : /home/user/.rvm/bin/rvm-shell: No such file or directory 
failed : "env PATH: .........etc" 

Не могли бы вы помочь мне исправить мои шаги и мой код?

ответ

0

Попробуйте переместить требование для rvm-capistrano в конец файла. Недавно я это сделал.

При использовании RVM вам не нужно устанавливать расслоение ЦМД, bundle_dir или default_environment (если возможно, вы делаете это для чего-то еще ?.

Это также выглядит, как вы пытаетесь обнаружить рубин версию вы используете локально использовать в развертывании, чтобы сделать это set :rvm_ruby_string, :local все, что вам нужно

+0

нет никаких изменений, все та же ошибка .. –

+0

РВМ Capistrano прочтет расположение rvm_path ' $ HOME/.rvm', в то время как мое расположение пути rvm '/ usr/local/rvm /', поэтому я должен установить rvm_path по умолчанию в '/ usr/local/rvm /'. Теперь моя проблема не может найти каталог rmv-shell. –

+2

Поскольку вы используете общесистемный рубин, вам нужно установить rvm_type: system – cpuguy83

0

для меня

set :rvm_ruby_string, :local #doesn't work 

не работал, я должен был использовать явную версию:.

set :rvm_ruby_string, "2.1.2" #works 
  • Capistrano (2.15.5)
  • РВМ-Capistrano (1.5.2)
Смежные вопросы