web-dev-qa-db-fra.com

Comment laisser la mise à jour de Redmine après la mise à niveau d'Ubuntu 14.04?

Je n'ai pas pu mettre à jour mon redmine. Chaque fois que j'ai exécuté apt-get upgrade, je reçois une erreur Ruby non trouvée:

Setting up redmine (2.4.2-1) ...
dbconfig-common: writing config to /etc/dbconfig-common/redmine/instances/default.conf
Creating config file /etc/redmine/default/database.yml.new with new version
dbconfig-common: flushing administrative password
Populating database for redmine instance "default".
This may take a while.
/usr/bin/env: Ruby1.8: No such file or directory
Error when running rake db:migrate, check database configuration.
dpkg: error processing package redmine (--configure):
 subprocess installed post-installation script returned error exit status 1
Errors were encountered while processing:
 redmine
E: Sub-process /usr/bin/dpkg returned an error code (1)

Je suis coincé maintenant. Ma mine rouge a cessé de fonctionner.

J'ai essayé de "redmine" en liant /usr/bin/Ruby1.8 à/usr/bin/Ruby, mais je me suis retrouvé avec une erreur différente.

Configuration de redmine (2.4.2-1) ... dbconfig-common: écriture de la configuration dans /etc/dbconfig-common/redmine/instances/default.conf

Creating config file /etc/redmine/default/database.yml.new with new version
dbconfig-common: flushing administrative password
Populating database for redmine instance "default".
This may take a while.
/usr/lib/Ruby/1.9.1/rubygems/dependency.rb:247:in `to_specs': Could not find rake (>= 0) amongst [] (Gem::LoadError)
        from /usr/lib/Ruby/1.9.1/rubygems/dependency.rb:256:in `to_spec'
        from /usr/lib/Ruby/1.9.1/rubygems.rb:1231:in `gem'
        from /usr/local/bin/rake:18:in `<main>'
Error when running rake db:migrate, check database configuration.
dpkg: error processing package redmine (--configure):
 subprocess installed post-installation script returned error exit status 1
Errors were encountered while processing:
 redmine
E: Sub-process /usr/bin/dpkg returned an error code (1)

Et puis j'ai essayé de réinstaller Ruby1.8 par suggéré dans ce numéro . Mais j'ai eu une erreur différente lors de l'installation de Ruby1.8.

apt-get install Ruby1.8
Reading package lists... Done
Building dependency tree
Reading state information... Done
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:
 redmine-sqlite : Depends: Ruby-sqlite3 but it is not going to be installed
 Ruby-fcgi : Depends: libruby1.9.1 (>= 1.9.2.0) but it is not going to be installed or
                      libruby2.0 (>= 2.0.0) but it is not going to be installed
 Ruby-railties-3.2 : Depends: Ruby-actionpack-3.2 (>= 3.2.16) but it is not going to be installed
                     Depends: Ruby-actionmailer-3.2 (>= 3.2.16) but it is not going to be installed
E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.
3
Hud Hood

Le (premier) message d'erreur affiché était:

/usr/bin/env: Ruby1.8: No such file or directory

Ceci essaie de lancer Ruby1.8 mais il n’existe pas de tel programme. Malheureusement, comme révélé par une recherche "contenu des paquets" , Ruby1.8 n'est plus fourni dans Ubuntu 14.04.

Installer quand même Ruby1.8:

Vous pouvez installer Ruby1.8 en utilisant l’une des méthodes décrites dans les réponses à:

Il existe actuellement deux réponses, l'une suggérant de permettre à un référentiel logiciel de 13.10 d'installer l'ancienne version destinée à la version précédente , et l'autre suggérant de tiliser un PPA expérimental (peut-être surtout) .

Je ne sais pas lequel des deux est meilleur ou plus fiable. Soit on devrait travailler.

Tentative d'utilisation de Ruby1.9 en tant que Ruby1.8:

Une autre possibilité, suggérée/inspirée par cette réponse par tres à cette question différente sur débordement de pile , est de "tromper" le script d'installation de redmine pour agir comme la version ultérieure de Ruby (Ruby1.9) est Ruby1.8. Cela n'empêchera pas Ruby1.9 de fonctionner pour les applications nécessitant cette version, mais cela ne fonctionnera pas nécessairement correctement non plus; il s'agit de déterminer à quel point redmine dépend de Ruby1.8.

Pour ce faire, créez un lien symbolique vers Ruby (qui exécute la version par défaut, dans ce cas 1.9) appelé Ruby1.8:

Sudo ln -s /usr/bin/Ruby /usr/bin/Ruby1.8

(Mise à jour) Si vous obtenez Could not find rake (>= 0) amongst [] (Gem::LoadError):

Dans les informations mises à jour ajoutées à votre réponse, vous mentionnez le lien symbolique /usr/bin/Ruby1.8 à /usr/bin/Ruby (pour le faire utiliser le Ruby1.9 installé) et vous obtenez un message d'erreur indiquant la première erreur:

/usr/lib/Ruby/1.9.1/rubygems/dependency.rb:247:in `to_specs': Could not find rake (>= 0) amongst [] (Gem::LoadError)
        from /usr/lib/Ruby/1.9.1/rubygems/dependency.rb:256:in `to_spec'
        from /usr/lib/Ruby/1.9.1/rubygems.rb:1231:in `gem'
        from /usr/local/bin/rake:18:in `<main>'
Error when running rake db:migrate, check database configuration.

Vous pourrez peut-être corriger cette erreur en installant le paquet rake:

Sudo apt-get update
Sudo apt-get install rake

Si le lien symbolique Ruby1.8 à Ruby ne fonctionne pas, vous décidez de tenter d'installer Ruby1.8, vous devez d'abord supprimer le lien, avec Sudo rm /usr/bin/Ruby1.8.

Si vous avez d'autres problèmes, modifiez votre question avec les détails. (Ou si vous estimez que les problèmes sont très différents de ce que vous avez demandé, vous pouvez poser une nouvelle question.) Bonne chance.

1
Eliah Kagan

Après avoir essayé différentes solutions et échoué à faire installer Redmine correctement. Je l'ai finalement obtenu en travaillant sur une machine différente. Et suivez les étapes suivantes.

  • Sauvegardez la base de données redmine_default sur mysql et restaurez-la sur une autre machine du même nom.
  • Frais installer redmine sur la nouvelle machine.

    apt-get installer redmine redmine-mysql

  • Suivez les étapes d’installation de Redmine à partir de ici

L'installation/mise à niveau a fonctionné avec toutes mes données existantes intactes.

Au bout de quelques jours, j’ai fait un autre test sur l’ancienne machine et découvert que, en désinstallant Redmine et en le purgeant, en veillant à ce que toutes les traces de l’ancienne RedMine et de Ruby nécessaires soient supprimées, la réinstallation à nouveau du début a fonctionné. !!!

Donc, si la mise à niveau pose un problème, sauvegardez la base de données, désinstallez Redmine.

apt-get remove redmine redmine-mysql
apt-get purge redmine redmine-mysql

Restaurez la base de données et suivez l'installation ci-dessus

1
Hud Hood