我正在使用Ubuntu 18.04" Bionic Beaver",我有一个名为BurgerKing.hs
的文件,可在System.Random
包中导入random
。
GHC 8.0.2,属于Ubuntu' universe'存储库,可以编译它:
ndos@ndos-desktop:~/Haskell$ ghc BurgerKing.hs -O2
[1 of 1] Compiling Main ( BurgerKing.hs, BurgerKing.o )
BurgerKing.hs:14:1: warning: [-Wtabs]
Tab character found here, and in 171 further locations.
Please use spaces instead.
Linking BurgerKing ...
但GHC 8.4.2属于Herbert V. Riedel的PPA并且通过符号链接链接,无法编译它:
ndos@ndos-desktop:~/Haskell$ ./bin/ghc BurgerKing.hs -O2
[1 of 1] Compiling Main ( BurgerKing.hs, BurgerKing.o )
BurgerKing.hs:10:1: error:
Could not find module ‘System.Random’
Use -v to see a list of the files searched for.
|
10 | import System.Random
| ^^^^^^^^^^^^^^^^^^^^
为什么?
编辑:我尝试重新安装PPA ghc-8.4.2
和cabal-install-2.2
,但问题仍然存在。
编辑2 :我尝试清除旧版ghc
和cabal
,然后通过{{1}重新安装ghc-8.4.2
和cabal-install-2.2
但问题仍然存在。
答案 0 :(得分:0)
我以某种丑陋的方式解决了这个问题。清除旧版ghc
和cabal
后,我执行了以下操作:
ndos@ndos-desktop:/usr/bin$ sudo ln -s /opt/ghc/bin/ghc
ndos@ndos-desktop:/usr/bin$ sudo ln -s /opt/ghc/bin/ghci
因此cabal
会找到ghc
,并且random
包可以成功下载:
ndos@ndos-desktop:~/Haskell$ ./bin/cabal install random
Resolving dependencies...
Configuring random-1.1...
Building random-1.1...
Installed random-1.1
BurgerKing.hs
编译得很好:
ndos@ndos-desktop:~/Haskell$ ghc BurgerKing.hs -O2
[1 of 1] Compiling Main ( BurgerKing.hs, BurgerKing.o )
BurgerKing.hs:14:1: warning: [-Wtabs]
Tab character found here, and in 171 further locations.
Please use spaces instead.
|
14 | | Menu {price :: Int, name :: String, category :: MenuCategory}
| ^^^^^^^^
Linking BurgerKing ...