GHC est livré avec un certain nombre de bibliothèques déjà installées. Lorsque vous exécutez la commande de construction ci-dessus, cabal veut "réinstaller" certaines anciennes versions des bibliothèques livrées avec GHC. C'est mauvais pour des raisons évidentes.
Si vous avez vraiment besoin de faire cela, il peut fonctionner pour utiliser cabal-dev
au lieu de Cabal
. Par ailleurs, l'utilisation de Setup.hs
appelle la version de la bibliothèque Cabal
fournie avec votre compilateur, où l'exécution de la commande cabal
appelle le programme cabal-install
.
cabal-dev
est une enveloppe autour de cabal-install
(et donc Cabal
la bibliothèque) qui fournit des builds en sandbox. Pour sécuriser l'installation de programmes nécessitant différentes versions des bibliothèques livrées avec GHC. La question restante serait de savoir si ces bibliothèques plus anciennes construiraient ou non avec le nouveau GHC. Dans de nombreux cas, la construction échouera.
Je vous recommande fortement d'utiliser cabal-dev
pour votre bâtiment au jour le jour au lieu de cabal-install
. Les avantages du sandboxing sont nombreux et l'emportent largement sur le risque de corruption de votre base de données de paquets en mettant à jour un paquet quelque part au milieu d'une chaîne de dépendances pour quelque chose que vous avez déjà installé. Pour plus d'informations sur l'utilisation cabal-dev
, je recommande ce reddit post.
base
est un ensemble de modules Haskell qui fournissent la plupart des fonctionnalités fournies avec chaque installation GHC. C'est une collection de bibliothèques utiles que la plupart des utilisateurs de Haskell voudront et dont ils auront besoin.
GHC-7.0.1 a déjà Cabal-1.10.0.0, vous ne voulez pas le rétrograder car il est jumelé à cette version de GHC. Voulez-vous vraiment installer cabal? Je pense que vous devrez attendre jusqu'à ce qu'une nouvelle version soit publiée, il devrait y avoir une nouvelle version bientôt (c'est-à-dire ce mois-ci) car elle est nécessaire pour la version candidate de la prochaine version de la plate-forme. –
@stephen, si cabal est livré avec GHC pouvez-vous me dire comment 'activer' le client en ligne de commande? J'essaye d'installer xmonad sur mon système. –
Salut Casey. Le client de ligne de commande est "cabal-install". Bien que GHC soit livré avec une version jumelée des bibliothèques cabal, "cabal-install" est un programme plus grand qu'un simple exécutable au dessus des bibliothèques de cabal. Il ne sortira donc que quelques semaines après GHC. Si vous voulez principalement xmonad, vous devriez utiliser la plate-forme Haskell, vous devez donc revenir à GHC 6.12.4 (ou attendre la prochaine version de la plate-forme qui, je pense, est prévue pour janvier). –