Ошибка установки пакета на удаленном сервере после развертывания capistrano

Вот ошибка при установке пакета после развертывания приложения capistrano rails 3.1:

dtt@ubuntu:/$ cd /vol/www/emclab
dtt@ubuntu:/vol/www/emclab$ /home/dtt/.rvm/gems/ruby-1.9.2-p290/bin/bundle install vendor/gems
/home/dtt/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/site_ruby/1.9.1/rubygems/dependency.rb:247:in `to_specs': Could not find bundler (>= 0) amongst [minitest-1.6.0, rake-0.8.7, rdoc-2.5.8] (Gem::LoadError)
        from /home/dtt/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/site_ruby/1.9.1/rubygems/dependency.rb:256:in `to_spec'
        from /home/dtt/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/site_ruby/1.9.1/rubygems.rb:1210:in `gem'
        from /home/dtt/.rvm/gems/ruby-1.9.2-p290/bin/bundle:18:in `<main>'

Вот вывод со списком драгоценных камней в /current subdir:

dtt@ubuntu:/vol/www/emclab/current$ gem list

*** LOCAL GEMS ***

actionmailer (3.1.1)
actionpack (3.1.1)
activerecord (3.1.1)
activeresource (3.1.1)
activesupport (3.1.1)
arel (2.2.1)
builder (3.0.0)
bundler (1.0.21)
daemon_controller (0.2.6)
erubis (2.7.0)
fastthread (1.0.7)
hike (1.2.1)
i18n (0.6.0)
json (1.6.1)
mail (2.3.0)
mime-types (1.17.2)
minitest (1.6.0)
multi_json (1.0.3)
passenger (3.0.9)
polyglot (0.3.2)
rack (1.3.5)
rack-cache (1.1)
rack-mount (0.8.3)
rack-ssl (1.3.2)
rack-test (0.6.1)
railties (3.1.1)
rake (0.8.7)
rdoc (3.11, 2.5.8)
sprockets (2.0.3)
thor (0.14.6)
tilt (1.3.3)
treetop (1.4.10)
tzinfo (0.3.30)

Вот ошибка для сборщика установки gem:

root@ubuntu:/vol/www/emclab/current# gem install bundler
ERROR:  Could not find a valid gem 'bundler' (>= 0) in any repository
ERROR:  While executing gem ... (Gem::RemoteFetcher::FetchError)
    too many connection resets (http://production.s3.rubygems.org/latest_specs.4.8.gz)

Есть мысли как решить проблему? Спасибо.


person user938363    schedule 02.11.2011    source источник
comment
Could not find bundler -- Гем упаковщика не установлен.   -  person jdl    schedule 03.11.2011
comment
Вы имели в виду, что пакет не установлен в /vol/www/emclab?   -  person user938363    schedule 03.11.2011


Ответы (1)


Похоже, у вас не установлено Bundler. SSH к удаленной машине и sudo gem install bundler в первую очередь. Тогда развертывание должно работать.

Не забудьте опустить sudo, если вы используете RVM, что означает только gem install bundler.

person Jakub Arnold    schedule 02.11.2011
comment
сборщик установки gem в /vol/www/myapp/current? - person user938363; 03.11.2011
comment
да, rvm установлен на сервере. Зачем опускать sudo с rvm? Я заметил, что не могу использовать sudo для пассажирского-установочного-nginx-модуля, но не знаю почему. - person user938363; 03.11.2011
comment
@ user938363 установка пассажира - это нечто другое. Но использование sudo с rvm обычно вызывает много проблем и считается плохой практикой, если вы не знаете, что делаете. - person Jakub Arnold; 03.11.2011
comment
что делать, если для выполнения команды требуется привилегия пользователя su? - person user938363; 03.11.2011
comment
@user938363 user938363, если вам нужны привилегии sudo, а у вас их нет, вы мало что можете сделать. На виртуальном хостинге этого сделать не дадут, а если это ваш собственный VPS/сервер, то у вас должен быть доступ к root-аккаунту. - person Jakub Arnold; 03.11.2011
comment
dtt@ubuntu:/vol/www/emclab/current$ сборщик установки gem ОШИБКА: при выполнении gem... (Gem::FilePermissionError) У вас нет прав на запись в /usr/local/lib/ruby/gems/ 1.9.1 каталог. - person user938363; 03.11.2011