Haskell - 永久暴露隐藏包
Haskell - Expose hidden package permanently
我是Haskell的初学者,一直在关注quickstart tutorial for diagrams。
我用 ghcup 安装了 Haskell,用 cabal install diagrams --lib
安装了图表(教程提到了 cabal sandbox init
,但显然这已经过时了)。
当我尝试编译第一个示例(ghc --make example.hs
)时,出现以下错误:
/home/me/example.hs:4:1: error:
Could not load module ‘Diagrams.Prelude’
It is a member of the hidden package ‘diagrams-lib-1.4.3’.
You can run ‘:set -package diagrams-lib’ to expose it.
(Note: this unloads all the modules in the current scope.)
Use -v (or `:set -v` in ghci) to see a list of the files searched for.
|
4 | import Diagrams.Prelude
| ^^^^^^^^^^^^^^^^^^^^^^^
/home/me/example.hs:5:1: error:
Could not load module ‘Diagrams.Backend.SVG.CmdLine’
It is a member of the hidden package ‘diagrams-svg-1.4.3’.
You can run ‘:set -package diagrams-svg’ to expose it.
(Note: this unloads all the modules in the current scope.)
Use -v (or `:set -v` in ghci) to see a list of the files searched for.
|
5 | import Diagrams.Backend.SVG.CmdLine
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
我可以通过 ghc example.hs -package diagrams-lib -package diagrams-svg
来防止这个错误,但我找不到永久执行此操作的方法。
这是使用 cabal file 控制的。您的 example.cabal
文件将包含这样的部分
library example
exposed-modules:
Example -- Assumes your example.hs contains "module Example where ..."
build-depends:
diagrams-lib,
diagrams-svg
然后你使用cabal build
或cabal install
编译。
我是Haskell的初学者,一直在关注quickstart tutorial for diagrams。
我用 ghcup 安装了 Haskell,用 cabal install diagrams --lib
安装了图表(教程提到了 cabal sandbox init
,但显然这已经过时了)。
当我尝试编译第一个示例(ghc --make example.hs
)时,出现以下错误:
/home/me/example.hs:4:1: error:
Could not load module ‘Diagrams.Prelude’
It is a member of the hidden package ‘diagrams-lib-1.4.3’.
You can run ‘:set -package diagrams-lib’ to expose it.
(Note: this unloads all the modules in the current scope.)
Use -v (or `:set -v` in ghci) to see a list of the files searched for.
|
4 | import Diagrams.Prelude
| ^^^^^^^^^^^^^^^^^^^^^^^
/home/me/example.hs:5:1: error:
Could not load module ‘Diagrams.Backend.SVG.CmdLine’
It is a member of the hidden package ‘diagrams-svg-1.4.3’.
You can run ‘:set -package diagrams-svg’ to expose it.
(Note: this unloads all the modules in the current scope.)
Use -v (or `:set -v` in ghci) to see a list of the files searched for.
|
5 | import Diagrams.Backend.SVG.CmdLine
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
我可以通过 ghc example.hs -package diagrams-lib -package diagrams-svg
来防止这个错误,但我找不到永久执行此操作的方法。
这是使用 cabal file 控制的。您的 example.cabal
文件将包含这样的部分
library example
exposed-modules:
Example -- Assumes your example.hs contains "module Example where ..."
build-depends:
diagrams-lib,
diagrams-svg
然后你使用cabal build
或cabal install
编译。