2016-07-10 6 views
2

J'ai le même problème que celui-ci question. Cependant, les deux réponses reposent sur le module Text.Regex.Posix. Lorsque je tente d'importer, je reçoisEst-ce que 'Text.Regex.Posix' a été renommé ou remplacé?

<no location info>: 
    Could not find module ‘Text.Regex.Posix’ 
    Perhaps you meant 
     Text.Regex.Base (from [email protected]) 
     Text.Regex.PCRE (from [email protected]) 

J'ai essayé d'installer regex-posix comme suggéré dans ce answer, mais le module encore ne peut pas être trouvé. Donc je me demandais si la fonctionnalité de Text.Regex.Posix a été déplacée vers les modules suggérés Text.Regex.Base et Text.Regex.PCRE. Ma version de GHCi est 7.10.3. Je suis un débutant dans Haskell, donc je pourrais manquer quelque chose de trivial.

+0

Vous avez installé 'regex-posix' et vous avez vérifié que vous l'avez installé pour le compilateur que vous utilisez? Il m'est arrivé d'avoir un 'ghc' de la distribution du système d'exploitation, et un manuellement installé et de mélanger les choses lors de l'installation des paquets ... – Bakuriu

+0

Avez-vous réellement redémarré ghci après avoir installé' regex-posix'? – leftaroundabout

+0

@Bakuriu, comment puis-je le vérifier? J'ai vérifié que ghci et ghc ont la même version. – dimid

Répondre

2

Lorsque vous installez un package, assurez-vous de l'installer à l'emplacement approprié (globalement ou dans un sandbox). Si cabal détecte un sandbox, il installera automatiquement le paquet là (et il devrait dire quelque chose à l'effet de "sandbox détecté à path/to/sandbox".)

Vous pouvez toujours vérifier quels paquets sont installés dans le global index de package en exécutant ghc-pkg list, ou si cabal utilise un bac à sable, puis cabal sandbox hc-pkg list. Une fois que vous avez déterminé quelle cabale d'index de package est utilisée pour compiler un programme particulier, vous pouvez vérifier dans la documentation Hackage que la fonctionnalité souhaitée est présente dans la version que vous avez installée.