在Windows上,ghal/ghci中似乎不提供与cabal一起安装的软件包 [英] On Windows, packages installed with cabal seem to be unavailable in ghc/ghci
问题描述
我正在相当标准的Windows 10 x64系统上运行Haskell Platform 8.6.3的最新版本.
I'm running the latest version of Haskell Platform 8.6.3 on a fairly standard Windows 10 x64 system.
现在,我很想从Hackage安装软件包以可靠地工作.将问题归因于本地配置问题,我已经采取了所有措施来简化Windows安装.我已经卸载并重新安装了Hackage,重新启动,在任何隐藏目录中搜索了我可以访问的每个最后一个配置文件,否则,删除了与Haskell相关的每个注册表项,大多数情况下都是多次,但无济于事:
Now I am at my wits end getting packages installed from Hackage to work reliably. Attributing my issues to local configuration problems, I've taken all steps short of nuking my Windows installation. I have uninstalled and reinstalled Hackage, rebooted, scoured every last configuration file I could in any hidden directory or otherwise, deleted every registry key apparently related to Haskell, most of them multiple times, all to no avail:
用ghbal安装的软件包在ghci,WinGHCI下似乎不可用,无论是用ghci下的(:m)交互式加载,还是在WinGHCI下使用ghc编译时,无论我做什么.
Packages installed with cabal just don't appear to be available under ghci, WinGHCI, either to be loaded interactively with (:m) under ghci or when compiling using ghc under WinGHCI, no matter what I do.
以下是一些症状.有什么建议吗?
Below are some symptoms. Any suggestions?
#cabal new-update
Downloading the latest package list from hackage.haskell.org
To revert to previous state run:
cabal new-update 'hackage.haskell.org,2019-04-02T19:24:19Z'
#cabal new-install --lib vector
Resolving dependencies...
Up to date
#ghci
Prelude> :m Data.Vector
<no location info>: error:
Could not find module ‘Data.Vector’
Perhaps you meant Data.Functor (from base-4.12.0.0)
#ghc -O -optc-O3 -funfolding-use-threshold=16 -fexcess-precision -Wall -Wno-type-defaults -Wno-unused-imports -Wno-unused-top-binds -rtsopts "P663.hs"
[1 of 1] Compiling Main ( P663.hs, P663.o )
P663.hs:54:1: error:
Could not find module ‘Data.Vector.Unboxed’
Use -v to see a list of the files searched for.
|
54 | import Data.Vector.Unboxed (Vector, (!)) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
#ghc-pkg list
C:\Program Files\Haskell Platform\8.6.3\lib\package.conf.d
Cabal-2.4.0.1
Win32-2.6.1.0
array-0.5.3.0
base-4.12.0.0
binary-0.8.6.0
bytestring-0.10.8.2
containers-0.6.0.1
deepseq-1.4.4.0
directory-1.3.3.0
filepath-1.4.2.1
(ghc-8.6.3)
ghc-boot-8.6.3
ghc-boot-th-8.6.3
ghc-compact-0.1.0.0
ghc-heap-8.6.3
ghc-prim-0.5.3
ghci-8.6.3
haskeline-0.7.4.3
hpc-0.6.0.3
hscolour-1.24.4
integer-gmp-1.0.2.0
libiserv-8.6.3
mtl-2.2.2
parsec-3.1.13.0
pretty-1.1.3.6
process-1.6.3.0
rts-1.0
stm-2.5.0.0
template-haskell-2.14.0.0
text-1.2.3.1
time-1.8.0.2
transformers-0.5.5.0
xhtml-3000.2.2.1
#ghc-pkg list --user-package-db=C:\Users\Carl\AppData\Roaming\cabal\store\ghc-8.6.3\package.db
C:\Program Files\Haskell Platform\8.6.3\lib\package.conf.d
Cabal-2.4.0.1
Win32-2.6.1.0
array-0.5.3.0
base-4.12.0.0
binary-0.8.6.0
bytestring-0.10.8.2
containers-0.6.0.1
deepseq-1.4.4.0
directory-1.3.3.0
filepath-1.4.2.1
(ghc-8.6.3)
ghc-boot-8.6.3
ghc-boot-th-8.6.3
ghc-compact-0.1.0.0
ghc-heap-8.6.3
ghc-prim-0.5.3
ghci-8.6.3
haskeline-0.7.4.3
hpc-0.6.0.3
hscolour-1.24.4
integer-gmp-1.0.2.0
libiserv-8.6.3
mtl-2.2.2
parsec-3.1.13.0
pretty-1.1.3.6
process-1.6.3.0
rts-1.0
stm-2.5.0.0
template-haskell-2.14.0.0
text-1.2.3.1
time-1.8.0.2
transformers-0.5.5.0
xhtml-3000.2.2.1
C:\Users\Carl\AppData\Roaming\cabal\store\ghc-8.6.3\package.db
primitive-0.6.4.0
vector-0.12.0.2
#set GHC_PACKAGE_PATH=C:\Users\Carl\AppData\Roaming\cabal\store\ghc-8.6.3\package.db;
#ghc-pkg list
C:\Program Files\Haskell Platform\8.6.3\lib\package.conf.d
Cabal-2.4.0.1
Win32-2.6.1.0
array-0.5.3.0
base-4.12.0.0
binary-0.8.6.0
bytestring-0.10.8.2
containers-0.6.0.1
deepseq-1.4.4.0
directory-1.3.3.0
filepath-1.4.2.1
(ghc-8.6.3)
ghc-boot-8.6.3
ghc-boot-th-8.6.3
ghc-compact-0.1.0.0
ghc-heap-8.6.3
ghc-prim-0.5.3
ghci-8.6.3
haskeline-0.7.4.3
hpc-0.6.0.3
hscolour-1.24.4
integer-gmp-1.0.2.0
libiserv-8.6.3
mtl-2.2.2
parsec-3.1.13.0
pretty-1.1.3.6
process-1.6.3.0
rts-1.0
stm-2.5.0.0
template-haskell-2.14.0.0
text-1.2.3.1
time-1.8.0.2
transformers-0.5.5.0
xhtml-3000.2.2.1
C:\Users\Carl\AppData\Roaming\ghc\x86_64-mingw32-8.6.3\package.conf.d
(no packages)
C:\Users\Carl\AppData\Roaming\cabal\store\ghc-8.6.3\package.db
primitive-0.6.4.0
vector-0.12.0.2
# ghci
GHCi, version 8.6.3: http://www.haskell.org/ghc/ :? for help
Prelude> :m Data.Vector
Prelude Data.Vector> toList $ empty
Access violation in generated code when reading 0xffffffffffffffff
Attempting to reconstruct a stack trace...
Frame Code address
* 0x7e5dd90 0x3d7d618 C:\Program Files\Haskell Platform\8.6.3\bin\ghc.exe+0x397d618
推荐答案
感谢所有答复.我已经尝试过在VirtualBox的某些版本的UN * X上运行ghc,并卸载Haskell Platform,然后在Windows 10 x64下完全使用堆栈.
Thanks for all the responses. I've experimented both with running ghc on some version of UN*X under VirtualBox and uninstalling Haskell Platform and going purely with stack under Windows 10 x64.
两者似乎都避免了我上面列出的许多问题,但是Windows下的堆栈似乎更轻巧,并且与我喜欢的编辑器(Sublime Text和Visual Studio Code)更好地集成在一起,所以这就是我要解决的问题现在.
Both seem to avoid the many issues I listed above, but stack under Windows seems a little more light-weight and integrates better with my preferred editors (Sublime Text and Visual Studio Code), so that is what I'm going with for now.
同时,对于Haskell平台人员和WinGHCI的作者所做的所有出色而免费的工作,我表示由衷的感谢,我不能敦促任何人认真阅读本文以免偏离它,尤其是版本8.6.3.在Windows下,至少要等到性能得到很大改善为止.
In the meantime, with all due gratitude for all the great, free work done by the Haskell Platform guys and the author of WinGHCI, I cannot urge anybody reading this strongly enough to stay away from it, in particular version 8.6.3 under Windows, at least until things are much improved.
这篇关于在Windows上,ghal/ghci中似乎不提供与cabal一起安装的软件包的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!