Haskell - impossible de trouver le paquet
J'ai un paquet installé via de la cabale: les Données.Vecteur
Mais lorsque j'essaie de compiler un programme qui a import Data.Vector
:
Drews-MacBook-Pro:Blokus-AI drewgross$ ghc --make -O2 -prof -auto-all playGame
Grid.hs:28:8:
Could not find module `Data.Vector'
Perhaps you meant
Data.Tensor (from Tensor-1.0.0.1)
Data.Functor (from base)
Use -v to see a list of the files searched for.
Drews-MacBook-Pro:Blokus-AI drewgross$
La commande que j'ai utilisé pour installer était:
cabal install -p --reinstall --force-reinstalls vector
J'ai fait diverses autres chose dans ma tentative pour obtenir mon programme pour compiler, mais rien n'a fonctionné. Je voudrais vraiment, il suffit de supprimer tout ce qui, de revenir à la case de départ et de télécharger de nouveau le paquet. Comment puis-je le faire?
Edit: complément d'enquête montre qu'il pourrait y avoir 2 versions de Données.Vecteur: 0.10.0.1 et 0.9.1, peut-être qu'ils sont contradictoires, en quelque sorte?
Edit: ghc-pkg check
listes pas d'erreurs, mais me donne une tonne de mises en garde qui ressemblent à ceci:
Warning: haddock-interfaces: /Users/drewgross/.cabal/share/doc/haskell-lexer-1.0/html/haskell-lexer.haddock doesn't exist or isn't a file
Edit: GCHi aussi ne le trouve pas
λ> import Data.Vector
<no location info>:
Could not find module `Data.Vector'
Perhaps you meant Data.Functor (from base)
λ>
Edit: ghc-pkg list vector
:
Drews-MacBook-Pro:Blokus-AI drewgross$ ghc-pkg list vector
/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/lib/ghc-7.4.2/package.conf.d
/Users/drewgross/.ghc/x86_64-darwin-7.4.2/package.conf.d
vector-0.10.0.1
Drews-MacBook-Pro:Blokus-AI drewgross$
et construire avec le drapeau-v:
Drews-MacBook-Pro:Blokus-AI drewgross$ ghc --make -O2 -prof -auto-all -v playGame
Glasgow Haskell Compiler, Version 7.4.2, stage 2 booted by GHC version 7.4.2
Using binary package database: /usr/local/Cellar/ghc/7.4.2/lib/ghc-7.4.2/package.conf.d/package.cache
Using binary package database: /Users/drewgross/.ghc/x86_64-darwin-7.4.2/package.conf.d/package.cache
package Cabal-1.16.0.3-e689d8e77b2f476229954cd43b1737bd is unusable due to missing or recursive dependencies:
base-4.5.1.0-81d626fb996bc7e140a3fd4481b338cd directory-1.1.0.2-72e928d14fc50f31f7e6404839a15691 unix-2.5.1.1-29636eb78541401e8e00393ef5df097e
package Tensor-1.0.0.1-a8f1a59665c3ebc4867678a14fe1460f is unusable due to missing or recursive dependencies:
base-4.5.1.0-81d626fb996bc7e140a3fd4481b338cd
package binary-0.5.1.1-e62c39c3aba8093e9b9655a4a8d2bce9 is unusable due to missing or recursive dependencies:
base-4.5.1.0-81d626fb996bc7e140a3fd4481b338cd bytestring-0.10.0.1-9b03e69060669eabf0b20e150305c7be
package bmp-1.2.3.2-c7572ec2bbb802bfd93fed0953c61d5d is unusable due to missing or recursive dependencies:
base-4.5.1.0-81d626fb996bc7e140a3fd4481b338cd binary-0.5.1.1-e62c39c3aba8093e9b9655a4a8d2bce9 bytestring-0.10.0.1-9b03e69060669eabf0b20e150305c7be
package bytestring-0.10.0.1-9b03e69060669eabf0b20e150305c7be is unusable due to missing or recursive dependencies:
base-4.5.1.0-81d626fb996bc7e140a3fd4481b338cd
package ghc-paths-0.1.0.9-4e6c624a3431a4fa7630e4fb77be4c83 is unusable due to missing or recursive dependencies:
base-4.5.1.0-81d626fb996bc7e140a3fd4481b338cd
package haskell-lexer-1.0-8fea1c35b626a2de761522690a88c063 is unusable due to missing or recursive dependencies:
base-4.5.1.0-81d626fb996bc7e140a3fd4481b338cd
package primitive-0.4.1-0007d441db5f4ce1ffd66bd3816c2d4e is unusable due to missing or recursive dependencies:
base-4.5.1.0-81d626fb996bc7e140a3fd4481b338cd
package split-0.2.1.1-03ec5738edb34f2e8967d25637b9392f is unusable due to missing or recursive dependencies:
base-4.5.1.0-81d626fb996bc7e140a3fd4481b338cd
package vector-0.10.0.1-3450daae3d9f2092020075d05481123c is unusable due to missing or recursive dependencies:
base-4.5.1.0-81d626fb996bc7e140a3fd4481b338cd primitive-0.5.0.1-15cdc8c11a54a78809b647af0c2975b3
wired-in package ghc-prim mapped to ghc-prim-0.2.0.0-7d3c2c69a5e8257a04b2c679c40e2fa7
wired-in package integer-gmp mapped to integer-gmp-0.4.0.0-af3a28fdc4138858e0c7c5ecc2a64f43
wired-in package base mapped to base-4.5.1.0-47f48c3ae7f8256a66a23e9dfe22eefc
wired-in package rts mapped to builtin_rts
wired-in package template-haskell mapped to template-haskell-2.7.0.0-e109822dcbed82c43f9fa60194eb64b5
wired-in package dph-seq not found.
wired-in package dph-par not found.
Hsc static flags: -fscc-profiling -static
*** Chasing dependencies:
Chasing modules from: *playGame.hs
Grid.hs:28:8:
Could not find module `Data.Vector'
Perhaps you meant Data.Functor (from base)
Locations searched:
Data/Vector.hs
Data/Vector.lhs
*** Deleting temp files:
Deleting:
*** Deleting temp dirs:
Deleting:
Drews-MacBook-Pro:Blokus-AI drewgross$
C'est ce que shell utilise:
Drews-MacBook-Pro:Blokus-AI drewgross$ which ghc
/usr/bin/ghc
Je n'ai cabal install -v lens
et évidemment il y avait une tonne de sortie mais je pense que c'est la partie pertinente:
Registering lens-3.7.0.2...
/usr/bin/ghc-pkg update - --global --user
Updating world file...
Drews-MacBook-Pro:Blokus-AI drewgross$
Qui semble indiquer qu'ils utilisent la même version. Je peux poster plus de la sortie d'une cabale installer si sa pertinentes.
Edit: plus de ghc sortie de cabal install-v
Building lens-3.7.0.2...
Preprocessing library lens-3.7.0.2...
Building library...
creating dist/build
/usr/bin/ghc --make -package-name lens-3.7.0.2 -hide-all-packages -fbuilding-cabal-package -i -idist/build -isrc -idist/build/autogen -Idist/build/autogen -Idist/build -optP-DTRUSTWORTHY=1 -optP-DDEFAULT_SIGNATURES=1 -optP-include -optPdist/build/autogen/cabal_macros.h -odir dist/build -hidir dist/build -stubdir dist/build -package-id array-0.4.0.0-0b6c5ca7e879a14d110ca4c001dd9297 -package-id base-4.5.1.0-81d626fb996bc7e140a3fd4481b338cd -package-id bytestring-0.9.2.1-0044644a71adfe5e950e6c6f6ca13065 -package-id comonad-3.0.0.2-6ef27fce8536ebdf9c364307a0915f63 -package-id comonad-transformers-3.0-a6df581636b1c9b514cfa6560f17d6a3 -package-id comonads-fd-3.0-b906ed7898871c5d2427052e2eefa62e -package-id containers-0.4.2.1-75f143aa39a3e77a1ce2300025bdd8ce -package-id filepath-1.3.0.0-f998e5510c76a98913f57b14b4f16c57 -package-id ghc-prim-0.2.0.0-7d3c2c69a5e8257a04b2c679c40e2fa7 -package-id hashable-1.1.2.5-14291f3b4e96b5599759ce7daa2bd37c -package-id mtl-2.1.2-02e701f9b1590ee88a0b5b0bd5d93a29 -package-id parallel-3.2.0.3-4cdd6067624f867b253b98d6d9fb9f52 -package-id semigroups-0.8.4.1-4d3a86b037504e6000a0354510588745 -package-id split-0.2.1.1-03ec5738edb34f2e8967d25637b9392f -package-id template-haskell-2.7.0.0-29110cc89a711d6ab3e7ee0e0a8ee949 -package-id text-0.11.2.3-473d9a1761b27c7315f2ef4569d93c3c -package-id transformers-0.3.0.0-8e66ecc7d4dae2b07b2b5406908c70e4 -package-id unordered-containers-0.2.2.1-d70d5ccb1df11dbbbaac89571b1ee46d -package-id vector-0.10.0.1-3450daae3d9f2092020075d05481123c -O -Wall -fwarn-tabs -O2 -fdicts-cheap -funbox-strict-fields -XHaskell98 Control.Lens.TH Language.Haskell.TH.Lens Control.Exception.Lens Control.Lens Control.Lens.Action Control.Lens.Classes Control.Lens.Combinators Control.Lens.Fold Control.Lens.Getter Control.Lens.Indexed Control.Lens.IndexedGetter Control.Lens.IndexedFold Control.Lens.IndexedLens Control.Lens.IndexedSetter Control.Lens.IndexedTraversal Control.Lens.Internal Control.Lens.Internal.Zipper Control.Lens.Iso Control.Lens.Loupe Control.Lens.Plated Control.Lens.Prism Control.Lens.Representable Control.Lens.Setter Control.Lens.Simple Control.Lens.Traversal Control.Lens.Tuple Control.Lens.Type Control.Lens.WithIndex Control.Lens.Wrapped Control.Lens.Zipper Control.Lens.Zoom Data.Bits.Lens Data.ByteString.Lens Data.ByteString.Strict.Lens Data.ByteString.Lazy.Lens Data.Complex.Lens Data.Data.Lens Data.Dynamic.Lens Data.HashSet.Lens Data.IntSet.Lens Data.List.Lens Data.List.Split.Lens Data.Sequence.Lens Data.Set.Lens Data.Text.Lens Data.Text.Strict.Lens Data.Text.Lazy.Lens Data.Tree.Lens Data.Typeable.Lens Data.Vector.Lens Data.Vector.Generic.Lens GHC.Generics.Lens Data.Array.Lens System.FilePath.Lens Control.Parallel.Strategies.Lens Control.Seq.Lens Control.Lens.Internal.Combinators
[ 1 of 57] Compiling Control.Lens.Classes ( src/Control/Lens/Classes.hs, dist/build/Control/Lens/Classes.o )
[ 2 of 57] Compiling Control.Lens.Internal ( src/Control/Lens/Internal.hs, dist/build/Control/Lens/Internal.o )
[ 3 of 57] Compiling Control.Lens.Internal.Combinators ( src/Control/Lens/Internal/Combinators.hs, dist/build/Control/Lens/Internal/Combinators.o )
[ 4 of 57] Compiling Control.Lens.Indexed ( src/Control/Lens/Indexed.hs, dist/build/Control/Lens/Indexed.o )
[ 5 of 57] Compiling Control.Lens.IndexedGetter ( src/Control/Lens/IndexedGetter.hs, dist/build/Control/Lens/IndexedGetter.o )
[ 6 of 57] Compiling Control.Lens.Action ( src/Control/Lens/Action.hs, dist/build/Control/Lens/Action.o )
[ 7 of 57] Compiling Control.Lens.Setter ( src/Control/Lens/Setter.hs, dist/build/Control/Lens/Setter.o )
Edit: ghc-pkg dump
Drews-MacBook-Pro:Blokus-AI drewgross$ ghc-pkg dump | grep "id: base"
id: base-4.5.1.0-81d626fb996bc7e140a3fd4481b338cd
ghc-pkg list vector
vous dire, et vous obtenez les informations les plus utiles lorsque vous compilez playGame
avec le -v
option?J'ai ajouté la sortie de ces commandes
OriginalL'auteur Drew | 2012-12-10
Vous devez vous connecter pour publier un commentaire.
Votre package de base de données est mal cassé. Le
ghc -v
de sortie des listes de dix inutilisable paquets en raison de l'absence ou du récursive dépendances, parmi euxvector
:Une chose que tous les paquets cassés ont en commun est l'absence de(?) la dépendance
où la
de base utilisé est différent de hachage.
Je ne suis pas sûr de savoir comment cela s'est fait, autant que je sache, il est impossible de réinstaller
base
, mais il semble que vous avez deux exemplaires de ghc-7.4.2, et ils marchent sur les pieds.ghc-pkg list
utilisepour le mondial de package de base de données, tandis que la compilation utilise
Maintenant, il se pourrait qu'au moins l'un des deux est un lien symbolique et ils sont tous les deux pointant vers la même place alors votre
package.cache
est hors de synchronisation - maisun GHC démarré par la même version semble inhabituel.
Pouvez-vous vérifier si vous avez en effet deux ghc-7.4.2 et de la ligne de commande utilise une autre à partir d'une
cabal
utilise?which ghc
vous indique le shell utilise, etcabal install -v some-package
sorties de la ligne de commandecabal
utilisations, y compris le chemin d'accès complet de l'utilisé de GHC.J'aimerais voir une compilation en ligne de commande. Le
ghc-pkg
de/usr/bin
indique qu'ils utilisent la même, mais je préfère être sûr.OK, j'ai ajouté un peu plus de la compilation de trucs. Certainement semble être l'utilisation d'
/usr/bin/ghc
En effet. Mais à partir de la ligne de commande, on peut lire que
cabal
passe-package-id base-4.5.1.0-81d626fb996bc7e140a3fd4481b338cd
de ghc, il demande explicitement le manque (ou l'est-il?)base
version. Maintenant, la question est, où êtescabal
obtenir. De faire une enquête.La cabale (et de la Cabale) de la source est trop grand pour moi pour être sûr, mais il semble que la cabale utilise
ghc-pkg dump
de trouver ce qui est disponible. Pouvez-vous faire unghc-pkg dump | grep "id: base"
pour voir ce que la version de base (en particulier l'ABI de hachage) que les rapports?OriginalL'auteur Daniel Fischer
Vous pouvez lister vos paquets installés avec
ghc-pkg list
. Par exemple (apparemment, j'ai besoin de mettre à jour),Vous pouvez annuler l'inscription d'entre eux à l'aide de
ghc-pkg unregister
. Ex,Et puis un
cabal update && cabal install vector
devrait prendre la dernière version de hackage.Si vous ouvrez GHCi et le type
import Data.Vector
, n'importe quoi?GHCi aussi ne peut pas le trouver (ajouté qu'à la question)
OriginalL'auteur jtobin
J'ai eu un problème similaire avec un autre module que j'ai installé la Plateforme Haskell sur une (homebrewed) ghc installer [Mac OS Mavericks 10.9.+]. J'ai désinstallé la précédente ghc avec homebrew
et re-couru le Haskell Platform installer (.pkg sur Mac). J'ai dû ensuite
pour résoudre les out-of-date d'avertissement lors de la
Cela a résolu le problème dans mon cas.
OriginalL'auteur c.gutierrez
Vous pourriez ajouter à votre
.cabal
fichierOriginalL'auteur raam86