Проблемы с установкой модуля в Haskell - PullRequest
0 голосов
/ 21 октября 2019

Я пытаюсь установить HDBC и HDBC.odbc для проекта на Haskell. Я скачал модули и необходимые зависимости от Hackage и установил их с cabal install [module name]. Хотя мне нужно было использовать Cygwin для зависимостей convertible и utf8, поскольку я работаю в Windows.

Когда я звоню cabal list --installed, я получаю

* Cabal
    Synopsis: A framework for packaging Haskell software
    Default available version: 3.0.0.0
    Installed versions: 2.4.0.1
    Homepage: http://www.haskell.org/cabal/
    License:  BSD3

* HDBC
    Synopsis: Haskell Database Connectivity
    Default available version: 2.4.0.3
    Installed versions: 2.4.0.3
    Homepage: https://github.com/hdbc/hdbc
    License:  BSD3

* HDBC-odbc
    Synopsis: ODBC driver for HDBC
    Default available version: 2.6.0.0
    Installed versions: 2.6.0.0
    Homepage: https://github.com/hdbc/hdbc-odbc
    License:  BSD3

* Win32
    Synopsis: A binding to Windows Win32 API.
    Default available version: 2.8.3.0
    Installed versions: 2.6.1.0
    Homepage: https://github.com/haskell/win32
    License:  BSD3

* array
    Synopsis: Mutable and immutable arrays
    Default available version: 0.5.4.0
    Installed versions: 0.5.3.0
    License:  BSD3

* asn1-types
    Synopsis: ASN.1 types
    Default available version: 0.3.3
    Installed versions: 0.3.3
    Homepage: http://github.com/vincenthz/hs-asn1
    License:  BSD3

* async
    Synopsis: Run IO operations asynchronously and wait for their results
    Default available version: 2.2.2
    Installed versions: 2.2.2
    Homepage: https://github.com/simonmar/async
    License:  BSD3

* base
    Synopsis: Basic libraries
    Default available version: 4.12.0.0
    Installed versions: 4.12.0.0
    License:  BSD-3-Clause

* basement
    Synopsis: Foundation scrap box of array & string
    Default available version: 0.0.11
    Installed versions: 0.0.11
    Homepage: https://github.com/haskell-foundation/foundation#readme
    License:  BSD3

* binary
    Synopsis: Binary serialisation for Haskell values using lazy ByteStrings
    Default available version: 0.8.7.0
    Installed versions: 0.8.6.0
    Homepage: https://github.com/kolmodin/binary
    License:  BSD3

* byteable
    Synopsis: Type class for sequence of bytes
    Default available version: 0.1.1
    Installed versions: 0.1.1
    Homepage: http://github.com/vincenthz/hs-byteable
    License:  BSD3

* bytestring
    Synopsis: Fast, compact, strict and lazy byte strings with a list interface
    Default available version: 0.10.10.0
    Installed versions: 0.10.8.2
    Homepage: https://github.com/haskell/bytestring
    License:  BSD3

* cereal
    Synopsis: A binary serialization library
    Default available version: 0.5.8.1
    Installed versions: 0.5.8.1
    Homepage: https://github.com/GaloisInc/cereal
    License:  BSD3

* concurrent-extra
    Synopsis: Extra concurrency primitives
    Default available version: 0.7.0.12
    Installed versions: 0.7.0.12
    Homepage: https://github.com/basvandijk/concurrent-extra
    License:  BSD3

* containers
    Synopsis: Assorted concrete container types
    Default available version: 0.6.2.1
    Installed versions: 0.6.0.1
    License:  BSD3

* convertible
    Synopsis: Typeclasses and instances for converting between types
    Default available version: 1.1.1.0
    Installed versions: 1.1.0.0
    Homepage: http://hackage.haskell.org/package/convertible
    License:  BSD3

* cryptonite
    Synopsis: Cryptography Primitives sink
    Default available version: 0.26
    Installed versions: 0.26
    Homepage: https://github.com/haskell-crypto/cryptonite
    License:  BSD3

* data-default-class
    Synopsis: A class for types with a default value
    Default available version: 0.1.2.0
    Installed versions: 0.1.2.0
    License:  BSD3

* deepseq
    Synopsis: Deep evaluation of data structures
    Default available version: 1.4.4.0
    Installed versions: 1.4.4.0
    License:  BSD3

* directory
    Synopsis: Platform-agnostic library for filesystem operations
    Default available version: 1.3.4.0
    Installed versions: 1.3.3.0
    License:  BSD3

* filepath
    Synopsis: Library for manipulating FilePaths in a cross platform way.
    Default available version: 1.4.2.1
    Installed versions: 1.4.2.1
    Homepage: https://github.com/haskell/filepath#readme
    License:  BSD3

* ghc
    Synopsis: The GHC API
    Default available version: 8.6.5
    Installed versions: 8.6.5
    Homepage: http://www.haskell.org/ghc/
    License:  BSD3

* ghc-boot
    Synopsis: Shared functionality between GHC and its boot libraries
    Default available version: 8.8.1
    Installed versions: 8.6.5
    License:  BSD3

* ghc-boot-th
    Synopsis: Shared functionality between GHC and the `template-haskell`
              library
    Default available version: 8.8.1
    Installed versions: 8.6.5
    License:  BSD3

* ghc-compact
    Synopsis: In memory storage of deeply evaluated data structure
    Default available version: 0.1.0.0
    Installed versions: 0.1.0.0
    License:  BSD3

* ghc-heap
    Default available version: [ Not available from any configured repository ]
    Installed versions: 8.6.5
    License:  BSD-3-Clause

* ghc-prim
    Synopsis: GHC primitives
    Default available version: 0.5.3
    Installed versions: 0.5.3
    License:  BSD-3-Clause

* ghci
    Synopsis: The library supporting GHC's interactive interpreter
    Default available version: 8.6.5
    Installed versions: 8.6.5
    License:  BSD3

* hashable
    Synopsis: A class for types that can be converted to a hash value
    Default available version: 1.3.0.0
    Installed versions: 1.3.0.0
    Homepage: http://github.com/tibbe/hashable
    License:  BSD3

* haskeline
    Synopsis: A command-line interface for user input, written in Haskell.
    Default available version: 0.7.5.0
    Installed versions: 0.7.4.3
    Homepage: https://github.com/judah/haskeline
    License:  BSD3

* hostname
    Synopsis: A very simple package providing a cross-platform means of
              determining the hostname
    Default available version: 1.0
    Installed versions: 1.0
    License:  BSD3

* hourglass
    Synopsis: simple performant time related library
    Default available version: 0.2.12
    Installed versions: 0.2.12
    Homepage: https://github.com/vincenthz/hs-hourglass
    License:  BSD3

* hpc
    Synopsis: Code Coverage Library for Haskell
    Default available version: 0.6.0.3
    Installed versions: 0.6.0.3
    License:  BSD3

* hscolour
    Synopsis: Colourise Haskell code.
    Default available version: 1.24.4
    Installed versions: 1.24.4
    Homepage: http://code.haskell.org/~malcolm/hscolour/
    License:  LGPL

* integer-gmp
    Synopsis: Integer library based on GMP
    Default available version: 1.0.2.0
    Installed versions: 1.0.2.0
    License:  BSD3

* libiserv
    Default available version: [ Not available from any configured repository ]
    Installed versions: 8.6.3
    License:  BSD-3-Clause

* memory
    Synopsis: memory and related abstraction stuff
    Default available version: 0.15.0
    Installed versions: 0.15.0
    Homepage: https://github.com/vincenthz/hs-memory
    License:  BSD3

* mtl
    Synopsis: Monad classes, using functional dependencies
    Default available version: 2.2.2
    Installed versions: 2.2.2
    Homepage: http://github.com/haskell/mtl
    License:  BSD3

* old-locale
    Synopsis: locale library
    Default available version: 1.0.0.7
    Installed versions: 1.0.0.7
    License:  BSD3

* old-time
    Synopsis: Time library
    Default available version: 1.1.0.3
    Installed versions: 1.1.0.3
    License:  BSD3

* parsec
    Synopsis: Monadic parser combinators
    Default available version: 3.1.14.0
    Installed versions: 3.1.13.0
    Homepage: https://github.com/haskell/parsec
    License:  BSD3

* pem
    Synopsis: Privacy Enhanced Mail (PEM) format reader and writer.
    Default available version: 0.2.4
    Installed versions: 0.2.4
    Homepage: http://github.com/vincenthz/hs-pem
    License:  BSD3

* pretty
    Synopsis: Pretty-printing library
    Default available version: 1.1.3.6
    Installed versions: 1.1.3.6
    Homepage: http://github.com/haskell/pretty
    License:  BSD3

* primitive
    Synopsis: Primitive memory-related operations
    Default available version: 0.7.0.0
    Installed versions: 0.7.0.0
    Homepage: https://github.com/haskell/primitive
    License:  BSD-3-Clause

* process
    Synopsis: Process libraries
    Default available version: 1.6.6.0
    Installed versions: 1.6.5.0
    License:  BSD3

* random
    Synopsis: random number library
    Default available version: 1.1
    Installed versions: 1.1
    License:  BSD3

* rts
    Default available version: [ Not available from any configured repository ]
    Installed versions: 1.0
    License:  BSD-3-Clause

* securemem
    Synopsis: abstraction to an auto scrubbing and const time eq, memory chunk.
    Default available version: 0.1.10
    Installed versions: 0.1.10
    Homepage: https://github.com/vincenthz/hs-securemem
    License:  BSD3

* stm
    Synopsis: Software Transactional Memory
    Default available version: 2.5.0.0
    Installed versions: 2.5.0.0
    Homepage: https://wiki.haskell.org/Software_transactional_memory
    License:  BSD3

* template-haskell
    Synopsis: Support library for Template Haskell
    Default available version: 2.15.0.0
    Installed versions: 2.14.0.0
    License:  BSD3

* text
    Synopsis: An efficient packed Unicode text type.
    Default available version: 1.2.4.0
    Installed versions: 1.2.3.1
    Homepage: https://github.com/haskell/text
    License:  BSD2

* time
    Synopsis: A time library
    Default available version: 1.9.3
    Installed versions: 1.8.0.2
    Homepage: https://github.com/haskell/time
    License:  BSD3

* transformers
    Synopsis: Concrete functor and monad transformers
    Default available version: 0.5.6.2
    Installed versions: 0.5.6.2
    License:  BSD3

* unbounded-delays
    Synopsis: Unbounded thread delays and timeouts
    Default available version: 0.1.1.0
    Installed versions: 0.1.1.0
    Homepage: https://github.com/basvandijk/unbounded-delays
    License:  BSD3

* utf8-string
    Synopsis: Support for reading and writing UTF8 Strings
    Default available version: 1.0.1.1
    Installed versions: 1.0.1.1
    Homepage: http://github.com/glguy/utf8-string/
    License:  BSD3

* uuid-types
    Synopsis: Type definitions for Universally Unique Identifiers
    Default available version: 1.0.3
    Installed versions: 1.0.3
    Homepage: https://github.com/aslatter/uuid
    License:  BSD3

* vector
    Synopsis: Efficient Arrays
    Default available version: 0.12.0.3
    Installed versions: 0.12.0.3
    Homepage: https://github.com/haskell/vector
    License:  BSD3

* xhtml
    Synopsis: An XHTML combinator library
    Default available version: 3000.2.2.1
    Installed versions: 3000.2.2.1
    Homepage: https://github.com/haskell/xhtml
    License:  BSD3

.cabalБиблиотека и исполняемый файл для проекта выглядят следующим образом:

library
  exposed-modules:    HDBC,
                      HDBC-odbc
  -- other-modules:
  -- other-extensions:
  build-depends:       base >=4.12 && <4.13
  hs-source-dirs:      src
  default-language:    Haskell2010

executable collatz
  main-is:             Main.hs
  -- other-modules:
  -- other-extensions:
  build-depends:       base >=4.12 && <4.13
  hs-source-dirs:      src
  default-language:    Haskell2010

Но модули по-прежнему не распознаются в проекте.

module Main where

import Database.HDBC
import Database.HDBC.ODBC

main :: IO ()
main = do
Could not find module `Database.HDBC'
Could not find module `Database.HDBC.ODBC'

У меня есть модули в отдельном каталоге,но я попытался поместить их непосредственно в один и тот же каталог, но безуспешно, поэтому я не был уверен, было ли это необходимо или нет ..

Я довольно новичок, и это первый раз, когда я имел дело симпортировать модули, как это. Я выполнил большой объем поиска, но не нашел успеха в руководствах или в проблемах, которые я мог бы найти, похожих на мои.

Если это помогает по какой-либо причине, я использую Haskero в VSCode с Windows 10.

...