我想使用 asdf-haskell 工具。我已经安装了asdf-vm,并且已经安装了asdf-haskell
。
我已经通过运行asdf install haskell 8.4.3
和asdf install haskell 8.6.5
安装了ghc-8.4.3
和ghc-8.6.5
。安装似乎奏效了,至少在"asdf 方面"是这样。我的目录~/.asdf/installs/haskell
的内容符合预期
但是,当我在堆栈项目中并运行stack test
时,堆栈会继续并将ghc-8.6.5
再次下载到~/.stack
中。我希望它使用已经下载到~/.asdf
目录中的内容。我在这里做错了什么?
我对 asdf-haskell 插件不是很熟悉,但听起来您正在运行的stack
命令可能不是 asdf 提供的命令。尝试运行type -a stack
,看看 PATH 上实际stack
命令是什么。还可以运行echo $PATH
,查看 asdf 填充程序目录是否在您的路径上。如果看不到 asdf 提供的stack
版本:
- 您没有正确安装 ASDF,并且未添加填充程序 到您的 PATH(返回文档网站并重复安装步骤(。
- 或者由于某种原因尚未生成填充程序,在 您可以运行哪种情况
asdf reshim
来修复它们。
可能是堆栈的预期行为,如前所述:
如有必要,堆栈安装程序会将编译器下载到一个隔离的位置(默认 ~/.stack(,该位置不会干扰任何系统级安装。(有关安装路径的信息,请使用堆栈路径命令。
源(在">启动新项目"部分下(