web-dev-qa-db-fra.com

Nginx et problèmes de dépendance des passagers

J'essaie de suivre ce guide

http://www.digitalocean.com/community/tutorials/how-to-deploy-a-Rails-app-with-passenger-and-nginx-on-ubuntu-14-04

Quand je veux continuer avec le tutoriel après avoir exécuté cette commande:

Sudo apt-get install nginx-extras passenger

Je reçois cette erreur:

Reading package lists... Done
Building dependency tree

Reading state information... Done
passenger is already the newest version.
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
nginx-extras : Depends: perlapi-5.18.2 but it is not installable
Depends: libperl5.18 (>= 5.18.2) but it is not installable
Recommends: passenger (< 4.0.60) but 1:4.0.59-1~trusty1 is to be installed
E: Unable to correct problems, you have held broken packages.

Je pense que je ne peux pas installer nginx-extras, quelqu'un peut m'aider s'il vous plaît?

22
Sebas Mardini

J'ai eu le même problème sur Ubuntu 14.10

Sudo nano /etc/apt/sources.list.d/passenger.list

commenter
deb https://oss-binaries.phusionpassenger.com/apt/passenger trusty main

ctrl + x
Y
entrer

Sudo apt-get update

Sudo apt-get install nginx nginx-extras

alors si ok

Sudo nano /etc/apt/sources.list.d/passenger.list

insérer
deb https://oss-binaries.phusionpassenger.com/apt/passenger wheezy main

ctrl + x
Y
entrer

Sudo apt-get update

Sudo apt-get install passenger

Voila!

53

Si vous êtes sur Ubuntu 16.04, procédez comme suit:

# Install our PGP key and add HTTPS support for APT
Sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 561F9B9CAC40B2F7
Sudo apt-get install -y apt-transport-https ca-certificates

# Add our APT repository
Sudo sh -c 'echo deb https://oss-binaries.phusionpassenger.com/apt/passenger xenial main > /etc/apt/sources.list.d/passenger.list'
Sudo apt-get update

# Install Passenger + Nginx
Sudo apt-get install -y nginx-extras passenger
28
Georg Keferböck

Lorsque j'ai eu cette erreur, c'est parce que la version du passager que j'essayais d'installer ne correspondait pas à la version d'ubuntu. Vérifiez que vous êtes sur Ubuntu 14.04.

Si ce n'est pas le cas, la ligne deb https://oss-binaries.phusionpassenger.com/apt/passenger trusty main dans /etc/apt/sources.list.d/passenger.list doit être modifiée pour correspondre à votre version d'ubuntu.

Puis lancez Sudo apt-get update

2
kane morgan

J'ai utilisé nginx-full au lieu de nginx-extras à cause de ce problème. Je cours 14.10 parce que je veux Postgres 9.4.

Il y avait un tas d'erreurs étranges que je n'arrêtais pas de commettre et j'ai accidentellement continué à suivre les instructions du passager après les instructions APT. Oups. J'ai donc initialement suivi la réponse de Maciej-adamczewski, mais il ajoute une installation Debian 7 passagers au lieu d'une installation Ubuntu 14.04. Cela m'a foiré.

Voici ce que j'ai fait pour me trier:

Sudo apt-mark showhold  # apparently I had nothing in here
Sudo apt-get autoclean
Sudo apt-get update && Sudo apt-get upgrade
# I hoped upgrade would get rid of that error re: nginx-extras
# it didn't at all, so decided to scrap and start over

Sudo apt-get purge nginx*  # to get rid of everything nginx
Sudo apt-get remove nginx*  # paranoia
Sudo apt-get purge passenger
Sudo apt-get remove passenger  # paranoia again
Sudo apt-get autoremove

Sudo apt-get update
Sudo apt-get install nginx-full passenger

Boom! Vous avez Nginx pour fonctionner correctement. 

Cela ne dit pas sur la partie Digital Ocean mais si vous avez installé RVM à la place de Ruby directement, vous devez savoir où se trouve votre télécommande Ruby:

rvm use
passenger-config --Ruby-command

Ensuite, copiez, collez les informations nginx portant la mention passenger_Ruby /usr/local/... et remplacez la ligne originale passenger_Ruby dans votre fichier /etc/nginx/nginx.conf.

Plus tard, lorsque vous créez des sites, assurez-vous d’ajouter passenger_enabled on; dans votre bloc serveur pour nginx!

accessoires fous à ce mec: Mise en place de Rails sur DO

2
risa_risa

Peut-être une erreur de version d'ubuntu, essayez avec cette commande:

Sudo sh -c 'echo deb https://oss-binaries.phusionpassenger.com/apt/passenger xenial main > /etc/apt/sources.list.d/passenger.list'
0
Neeraj Kumar