我正在尝试编写一个简单的脚本,以输入一个URL(或一组URL)作为输入,然后将其内容下载到文件中(特别是我正在尝试下载数百个JSON文件)最终,我希望与其他JSON文件进行比较)。
在文件download.hs
中,我有import "HTTP" Network.HTTP
。
当我跑步时:$ ghc -o download download.hs
我收到以下错误:
download.hs:24:1: error:
Could not find module ‘Network.HTTP’
Perhaps you meant Network.TLS (needs flag -package-key tls-1.5.2)
|
24 | import "HTTP" Network.HTTP
| ^^^^^^^^^^^^^^^^^^^^^^^^^^
我的GHC版本是:
$ ghc --version
The Glorious Glasgow Haskell Compilation System,version 8.6.5
我也遇到类似的错误:
download.hs:22:1: error:
Could not load module ‘Control.Concurrent.Async’
It is a member of the hidden package ‘async-2.2.2’.
You can run ‘:set -package async’ to expose it.
(Note: this unloads all the modules in the current scope.)
|
22 | import "async" Control.Concurrent.Async (mapConcurrently)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
我认为ghc版本之间可能会有重大变化,而我在网上找到的示例可能已经过时。
关于这样做的任何指示都是从Haskell开始的,特别是在Haskell中下载和比较JSON文件的简单方法吗?
我一直在关注以下示例:Running parallel URL downloads in Haskell,这是我现在出现错误的代码的地方。