2010-12-09 3 views
6

Les dépendances de paquets Haskell continuent d'être un problème mais je ne sais pas comment contourner celui-ci. Mon environnement:cabal installer yesod échoue?

  • Ubuntu 10.10, nouvelle installation
  • apt-get install ghc6 cabale installer
  • mise à jour cabale & & cabale installer cabale installer

Puis:

  • installation cabale yesod

Et je reçois ceci:

$ cabal install yesod 
cabal: Error: some packages failed to install: 
persistent-0.3.1.2 failed during the building phase. The exception was: 
ExitFailure 1 
yesod-0.6.6 depends on persistent-0.3.1.2 which failed to install. 
$ cabal install persistent-0.3.1.2 
Resolving dependencies... 
cabal: cannot configure blaze-builder-0.2.0.2. It requires text ==0.10.* 
For the dependency on text ==0.10.* there are these packages: text-0.10.0.0, 
text-0.10.0.1 and text-0.10.0.2. However none of them are available. 
text-0.10.0.0 was excluded because enumerator-0.4.3.1 requires text ==0.11.* 
text-0.10.0.1 was excluded because enumerator-0.4.3.1 requires text ==0.11.* 
text-0.10.0.2 was excluded because enumerator-0.4.3.1 requires text ==0.11.* 

Comment puis-je obtenir yessod installé?

+1

Simon Meier vient de télécharger une nouvelle version de blaze-builder, qui devrait résoudre le problème. Pouvez-vous mettre à jour la cabine et réessayer d'installer? –

Répondre

4

Pour voir plus de détails, ajoutez -v (ou même -v2 ou -v3) et peut-être --dry-run. Aussi, il est utile de voir ce qui est actuellement installé, avec la liste ghc-pkg. Lorsque vous effectuez une mise à niveau persistante, cabal décide de reconstruire votre yesod existant qui en dépend. Cela déclenche une mise à niveau blaze-constructeur. blaze-builder nécessite un texte plus ancien que l'énumérateur qui est également en cours d'installation.

http://hackage.haskell.org/package/enumerator prétend soutenir les anciennes versions de texte ainsi que 0.11. Mais la cabale a été déjouée d'une manière ou d'une autre. La sortie verbeuse peut en dire plus, ou voir si vous pouvez l'aider avec une contrainte - ou deux. Ou en désinstallant d'abord certains paquets liés, comme yesod. Et bien sûr, assurez-vous que vous avez fait la mise à jour de la cabine.

+1

C'est exactement la bonne réponse. J'ai envoyé un e-mail à l'auteur de blaze-builder et lui ai demandé d'ajouter le plus récent paquet de texte comme supporté. Vous pouvez actuellement contourner ce problème en modifiant manuellement le paquet blaze-builder et en autorisant le texte 0.11. –

1

Il existe une dépendance-break. Signalez-le comme une erreur à l'auteur du package. Envisagez également de télécharger et d'installer manuellement une ancienne version de l'énumérateur.

2

yesod est en développement important. email michael snoyman (informations de contact peut être trouvé here), il est très sensible aux demandes

1

J'ai trouvé quelques informations sur un processus mieux installer ici:

https://github.com/yesodweb/yesod

Recherchez la section sur la cabale-src.

Je suis en train de l'essayer.

Je vous rapporterai, et informerons les gens si cela fonctionne.