【发布时间】:2017-02-13 10:15:56
【问题描述】:
我正在使用堆栈 ghci 版本 8 开发 Ubuntu 16.04。我想在 Haskell 中导入 System.Random,但似乎我遇到了可能涉及 Cabal 的问题。我在这个网站上看到过类似的帖子,但他们通常说这是因为版本较旧,但我使用的是版本 8。
我得到错误:
Failed to load interface for ‘System.Random’
Use -v to see a list of the files searched for.
这告诉我 System.Random 有问题。上网看了一下,发现需要先安装Cabal。
当我输入时
Cabal --version
我明白了
cabal-install version 1.22.6.0
using version 1.22.5.0 of the Cabal library
这告诉我我已经拥有它了。所以当我尝试更新时
sudo apt-get install cabal-install cabal update
我明白了
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package cabal
E: Unable to locate package update
这很奇怪。如果我忽略它并尝试通过随机安装
cabal install random
我明白了
Resolving dependencies...
All the requested packages are already installed:
random-1.1
Use --reinstall if you want to reinstall anyway.
看来我也有 cabal 的随机包装。但我无法使用
加载程序import System.Random
命令。
编辑:似乎我有堆栈 ghci 版本 8.0.1 和 ghci 版本 7.10.3。 System.random 在 ghci 中加载,但不在堆栈 ghci 中。
当我尝试在堆栈中加载文件时,我也会得到以下信息。进入
stack ghci R.hs
我明白了
Warning: Couldn't find a component for file target /home/aa/workspace/share/haskell/chenw/hw4/R.hs. Attempting to load anyway.
Configuring GHCi with the following packages:
GHCi, version 8.0.1: http://www.haskell.org/ghc/ :? for help
Loaded GHCi configuration from /home/aa/.ghc/ghci.conf
Loaded GHCi configuration from /tmp/ghci19674/ghci-script
这是否意味着我的堆栈安装有问题?
【问题讨论】:
-
sudo apt-get install cabal-install cabal update失败并不奇怪。命令是cabal update;它与 apt-get 无关。 -
@Ryan,我刚试过“cabal update && cabal install cabal-install”,但还是不行。
-
docs.haskellstack.org/en/stable/GUIDE/#adding-dependencies。
stack install也可能有用。 -
您没有给出用于获取第一条错误消息的命令。但是
stack ghci --package random修复了吗? -
@MichaelSnoyman。是的,它做到了,谢谢!作为后续,堆栈是否正常运行?当我键入“stack ghci File.hs”时,它应该能够加载程序 File.hs,还是我的堆栈通过不加载而只进入前奏以正确的方式运行?
标签: haskell cabal haskell-stack