Развертывание с помощью Rubber: "libapache2-mod-passenger" не найдено

Я следую за Rails Cast Райана Бейтса, чтобы развернуть приложение Rails в EC2 с Rubber. Кажется, все идет хорошо до этой ошибки. Как я могу это исправить?

** [out :: production.foo.com] Ign https://oss-binaries.phusionpassenger.com precise/main Translation-en
** [out :: production.foo.com] Fetched 60.6 kB in 2s (25.7 kB/s)
** [out :: production.foo.com] Reading package lists...
** [out :: production.foo.com] 
** [out :: production.foo.com] Reading package lists...
** [out :: production.foo.com] 
** [out :: production.foo.com] Building dependency tree...
** [out :: production.foo.com] 
** [out :: production.foo.com] Reading state information...
** [out :: production.foo.com] 
** [out :: production.foo.com] E
** [out :: production.foo.com] :
** [out :: production.foo.com] Version '1:4.0.48-1~precise1' for 'libapache2-mod-passenger' was not found
** [out :: production.foo.com] 
command finished in 10387ms
failed: "/bin/bash -l -c 'sudo -p '\\''sudo password: '\\''  bash -l /tmp/install_packages postfix build-essential git-core libxslt-dev ntp postgresql-client libpq-dev subversion curl autoconf bison ruby zlib1g-dev libssl-dev libreadline6-dev libxml2-dev libyaml-dev apache2 libapache2-mod-proxy-html libcurl4-openssl-dev libapache2-mod-xsendfile apache2-mpm-prefork apache2-prefork-dev libapache2-mod-passenger=1:4.0.48-1~`lsb_release -sc`1 collectd libperl-dev monit postgresql-9.1 openjdk-7-jdk unzip python-django python-django-tagging python-cairo python-memcache memcached uwsgi uwsgi-plugin-python uwsgi-plugin-http sqlite3 bzr zip mongodb-10gen haproxy ec2-ami-tools'" on production.foo.com

мой rubber.yml:

app_name: My_App

app_user: app

admin_email: "root@#{full_host}"

timezone: US/Western

domain: foo.com

cloud_providers:
  aws:

region: us-west-2

access_key: MYACCESSKEYXX
secret_access_key: secret-keyXX
account: MYACCOUNTXXX

key_name: my-key-file
key_file: "#{Dir[(File.expand_path('~') rescue '/root') + '/.ec2/*' + cloud_providers.aws.key_name].first}"

image_type: t2.micro
image_id: ami-ef5e24df  #this is a Ubuntu 12.04 precise EBS hvm 64-bit 

Пробовал то, что было предложено в этом вопросе, но не помогло. Я пытался установить libapache2-mod-passenger и в моей локальной машине, и в примере с Амазонкой это не помогло.

Я использую Ruby 1.9.3, чтобы избежать других проблем

4 ответа

Решение

Закончилась смена пассажирской версии с 1:4.0.48-1~precise1 в 1:4.0.50-1~precise1 в rubber-passenger.yml и это решило проблему.

Просто обновление этого.

Вы должны изменить таким образом:

до

passenger_version: '1:4.0.57-1~`lsb_release -sc`1'

после

passenger_version: '1:5.0.6-1~`lsb_release -sc`1'

Что вам нужно сделать, это просто изменить версию номера и получить версию номера, как сказал Дерек Хилл

Я столкнулся с той же проблемой. Один за другим я попробовал версию, представленную на приведенном выше URL

https://oss-binaries.phusionpassenger.com/apt/passenger/dists/trusty/main/binary-amd64/Packages

Сначала я нашел это беспокойным, и я подумал, как я могу войти все по одному. Поэтому я отфильтровал те, которые содержали ключевые слова "libapache2-mod-passenger", с помощью поискового фильтра chrome ctrl + f, поскольку он выделяет область, где присутствует это ключевое слово.

К счастью, я получил эту работу над этой версией

'1:5.0.29-1~`lsb_release -sc`1'

Я испытал эту же ошибку.

Причина этой проблемы выражена Кевином Менаром: " Пассажиры очень раздражают, удаляя пакеты из их индекса, как только выходит новая версия. "

Ответ заключается в обновлении passenger_version в rubber-passenger.yml, но вопрос к чему.

Подход, который работал для меня, заключался в получении версии из надежного каталога:

  1. Перейдите на https://oss-binaries.phusionpassenger.com/apt/passenger/dists/trusty/main/binary-amd64/Packages
  2. Откройте файл "Пакеты"
  3. Найти версию libapache2-mod-passenger пакет

В моем случае это означало обновление passenger_version в 1:5.0.5-1~trusty1

Другие вопросы по тегам