使用 cabal 沙箱中的 Hoe 时出现问题 - System.Random 未找到

Issue using Hoe from cabal sandbox - System.Random not found

我正在尝试使用 cabal 沙箱中的 Hoe 实用程序,但出现以下错误:

lyndon@endpin ~/Haskell-Sandboxes/hoe-1.0.1 ./.cabal-sandbox/bin/hoe head
compile error: <no location info>:
    Could not find module ‘System.Random’
    Use -v to see a list of the files searched for.

我认为这是由于 Hoe 在运行时使用 Hint 来解释表达式,并且作为其中的一部分,期望能够加载全局安装的模块。但是,由于我使用的是 cabal-sandbox,因此模块仅安装在本地。

我试图寻找可用于将随机模块的位置指定为 ./.cabal-sandbox/lib/x86_64-osx-ghc-7.8.3/random-1.1 的任何环境变量,但是没有明显的结果出现。

22070308 建议 HASKELL_PACKAGE_SANDBOX 可能有帮助,但似乎没有帮助。

实际上我刚刚找到了解决方案

设置GHC_PACKAGE_PATH以包含沙箱和默认包位置:

lyndon@endpin ~/Haskell-Sandboxes/hoe-1.0.1 find ~/ghc_versions/ghc-7.8.3/ | grep package.cache
/Users/lyndon/ghc_versions/ghc-7.8.3//lib/ghc-7.8.3/package.conf.d/package.cache
lyndon@endpin ~/Haskell-Sandboxes/hoe-1.0.1 GHC_PACKAGE_PATH=~/ghc_versions/ghc-7.8.3//lib/ghc-7.8.3/package.conf.d:./.cabal-sandbox/x86_64-osx-ghc-7.8.3-packages.conf.d ./.cabal-sandbox/bin/hoe head
asdf
'a'