You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Haskell stack脚本中引入来自Github的第三方依赖包?

运行带Github来源依赖的Stack脚本的两种可行方案

方案1:脚本内嵌入--extra-dep参数(兼容Stack 2.7.1版本)

不需要额外编写stack.yaml文件,直接把Github依赖的配置通过--extra-dep参数写在脚本头部的Stack配置项中即可,修改后的示例脚本如下:

#!/usr/bin/env stack
-- stack --resolver lts-18.0 script
--   --package somePackageFromGithub
--   --extra-dep git:https://github.com/user/somePackageFromGithub.git#你的commit哈希值

module Main where

main :: IO ()
main = putStrLn "Hello World!"

如果有多个Github来源依赖,每一个依赖对应一行--extra-dep配置即可。

方案2:指定自定义配置文件(需Stack 2.9.1及以上版本)

Stack 2.9.1版本新增了--script-yaml参数,完全规避了旧版本script子命令忽略自定义stack.yaml的问题。如果你可以升级Stack版本,只需要把extra-deps配置正常写在你的yaml文件中,然后在脚本头部指定加载即可:

#!/usr/bin/env stack
-- stack --resolver lts-18.0 script
--   --package somePackageFromGithub
--   --script-yaml ./你编写的stack.yaml路径

内容的提问来源于stack exchange,提问作者nevrome

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 22:18:03