Étant donné que Foreman est configuré pour fonctionner avec thor 0.19.x, il ne fonctionnera pas par défaut sur une nouvelle installation de rails jusqu'à ce qu'il soit mis à jour.
https://github.com/ddollar/foreman/blob/master/foreman.gemspec#L20
Je viens de l'essayer moi-même et tous les tests réussissent avec la dernière version de thor :
https://github.com/kurtnovack/foreman/tree/thor-version
thor 0.20.0 a également une correction de bogue qui se fait attendre depuis longtemps (https://github.com/erikhuda/thor/issues/538#issuecomment-326350114) ; actuellement, le contremaître empêche cette mise à niveau. (Nous sommes donc toujours bloqués sur une version pré-bug de thor.)
Si vous retirez foreman
de votre Gemfile comme le suggère le README, vous n'aurez pas de problèmes de résolution de dépendance. Je suggère de l'installer en tant qu'outil au niveau du système ( gem install foreman
) plutôt qu'en tant que dépendance au niveau du code de votre application.
@ddollar le problème est que thor a un bogue dans la version 0.19.4, qui est corrigé dans thor 0.20.0.
Si vous essayez d'exécuter le contremaître installé sur le système avec uniquement l'installation du système, thor v 0.20.0 contremaître ne démarrera pas.
C'est parce que la dépendance de gem sur thor est '~> 0.19.1'
.
Donc, comme le disait l'affiche, si vous ne pouvez pas utiliser thor v0.19.1 (même en tant que dépendance en tant que contremaître), alors vous n'avez pas de chance. Si thor v0.20 fonctionne avec foreman, alors ce serait formidable de changer la dépendance pour le permettre.
@eadz J'avais la même conviction que vous, mais après avoir lu les commentaires de @ddollar dans # 678, je comprends en quelque sorte sa position.
C'est-à-dire : _si vous installez Foreman en faisant gem install foreman
au lieu d'essayer de le mettre dans votre Gemfile_, cela fonctionnera toujours. Que votre projet utilise thor ou non, ou même une version différente. J'ai essayé localement, en faisant gem install thor
(pour obtenir une version conflictuelle et plus récente) mais à ma grande surprise, l'exécution de foreman
fonctionne toujours.
Commentaire le plus utile
@ddollar le problème est que thor a un bogue dans la version 0.19.4, qui est corrigé dans thor 0.20.0.
Si vous essayez d'exécuter le contremaître installé sur le système avec uniquement l'installation du système, thor v 0.20.0 contremaître ne démarrera pas.
C'est parce que la dépendance de gem sur thor est
'~> 0.19.1'
.Donc, comme le disait l'affiche, si vous ne pouvez pas utiliser thor v0.19.1 (même en tant que dépendance en tant que contremaître), alors vous n'avez pas de chance. Si thor v0.20 fonctionne avec foreman, alors ce serait formidable de changer la dépendance pour le permettre.