欢迎使用哈斯克尔编程语言和Haskell工具堆栈(堆栈)!Stack是一个用于开发Haskell项目的程序。它针对的是新的和有经验的哈斯克勒。它是跨平台的旨在完全支持Linux、macOS和Windows上的用户。
堆叠功能:
如何安装Stack
Stack可以安装在大多数类Unix操作系统(包括macOS)上窗户。它至少需要5 GB左右的磁盘空间才能与一个磁盘一起使用GHC版本。
信息
除了下面描述的方法外,还可以安装Stack使用单独的GH杯的安装程序Haskell相关工具。GHCup为某些机器组合提供堆栈其他地方没有提供体系结构和操作系统。默认情况下安装GHCup(可以多次运行)的脚本还配置堆栈,以便如果Stack需要GHC版本,GHCup将接管获取并安装该版本。
对于大多数Linux发行版,最简单的安装Stack的方法直接(而不是使用GHCup)命令:
卷曲-sSLhttps://get.haskellstack.org/|小时
或:
wget-qO-https://get.haskellstack.org网址/|小时
从2020年末开始,苹果开始从Mac电脑向Intel电脑过渡处理器(基于Intel-based Mac)到苹果硅Mac电脑.
对于大多数基于Intel的Mac计算机,最简单的安装Stack的方法直接(而不是使用GHCup)命令:
卷曲-sSLhttps://get.haskellstack.org网址/|小时
或:
wget-qO-https://get.haskellstack.org网址/|小时
苹果硅Mac电脑具有M1、M1 Pro、M1 Max、M1 Ultra或M2芯片。这些芯片使用称为ARM64或AArch64的体系结构。
对于使用Apple silicon的Mac电脑,安装Stack的最简单方法直接(而不是使用GHCup)命令:
卷曲-sSLhttps://get.haskellstack.org网址/|小时
或:
wget-qO-https://get.haskellstack.org网址/|小时
在64位Windows上,直接安装Stack(而不是使用GHCup)下载并安装Windows安装程序.
信息
默认情况下,Windows安装程序将堆栈根设置为C: \sr
.
警告
堆栈2.9.1、2.9.3和2.11.1的Windows安装程序(仅限)将替换用户路径
环境变量(而不是附加到它)如果超过1024个字符的限制。如果您现有的用户路径
很长,请在运行安装程序之前保留它。
注意
带有防病毒软件的系统可能需要将Stack添加到“受信任”的应用程序。
对于其他操作系统和直接下载(而不是使用GHCup),请参阅安装和升级指南.
如何升级Stack
如果已安装Stack,则可以通过命令:
注意
如果您使用GH杯要安装Stack,您还应该使用GHCup而不是Stack来升级Stack。
快速入门指南
要立即体验使用Stack和Haskell构建可执行文件,首先你需要遵循Stack安装指南.
第一步:开始你的新项目
启动名为的新项目我的项目
,在终端:
堆叠新的my项目cd我的项目堆栈构建堆栈执行my-project-exe
- 这个
堆叠新的my项目
命令将创建一个新目录,名为我的项目
。它包含正确启动项目所需的所有文件,使用默认模板。
- 这个
cd my项目
命令将当前工作目录更改为目录。
- 这个
堆栈构建
命令将生成模板项目并创建名为的可执行文件我的项目exe
(在Windows上,my-project-exe.exe
). 第一,如有必要,Stack将在一个隔离的位置下载GHC版本。这不会影响系统上的其他GHC安装。
- 这个
堆栈执行my-project-exe
命令将运行(执行)构建的可执行文件,在Stack的环境中。
有关Stack命令的完整列表,以及这些命令的通用标志和选项命令,只需命令:
有关特定堆栈命令的帮助,包括特定于例如,该命令堆栈构建
,命令:
如果要启动运行评估打印循环(REPL)环境,请执行以下命令:
信息
堆栈ghci
可以代替堆栈repl
GHCi是GHC的REPL工具。
人们将Haskell代码组织成包。如果要使用Stack进行安装Haskell包提供的可执行文件,则只需执行以下命令:
第2步:后续步骤
这个堆叠新的my项目
步骤1中的命令应该创建了以下内容文件和目录(以及其他):
.├── 应用程序│节气门——Main.hs├── 型钢混凝土│节气门–Lib.hs├── 测试│ └── 规格.hs├── my-project.cabal公司├── 包装.山药└── 堆垛山药
可执行文件(应用程序)的Haskell源代码位于文件中主要.hs
.
可执行文件使用库。它的源代码在文件中图书馆
.
的内容my-project.cabal公司
描述了项目的包。那个文件是由的内容生成包装.山药
.
信息
如果需要,可以删除包装.山药
文件并更新my-project.cabal公司
直接提交。然后Stack将使用该文件。
的内容堆垛山药
描述Stack自己的项目级配置。
您可以在中编辑源文件型钢混凝土
目录(用于库)或这个应用程序
目录(用于可执行文件(应用程序))。
随着项目的发展,您可能需要依赖另一个Haskell包。如果这样做,则将该新包的名称添加到文件包装.山药
,在其中依赖项:
第节。
信息
当您使用堆栈构建
同样,Stack将使用包装.山药
创建已更新my-project.cabal公司
为你。
如果Stack报告Stack配置没有指定的版本然后按照Stack可能建议的操作添加特定的项目的包版本堆垛山药
文件,在其额外步骤:
第节。
这是关于如何使用堆叠。如果您想进一步了解,我们强烈建议您阅读Stack的引导的用户指南.
完整的堆叠指南
A完整用户指南到Stack可用,涵盖所有使用Stack的最常见方法。Stack文档中使用的术语还包括在中解释词汇表.
为什么选择Stack?
Stack是Haskell的一个构建工具,旨在满足哈斯克尔用户的需求,既新又有经验。它强烈关注可复制的构建计划,多包项目,以及一组一致、易于学习的Stack命令。它还旨在提供可定制性和体验到的强大功能开发人员需要。
堆栈不是孤立的。它建立在以下方面提供的伟大工作之上:
Stack由志愿者团队和公司提供,由这个商业哈斯克尔小组。该项目是由牵头FP完成满足以下需求商业Haskell用户。它已经成为一个蓬勃发展的开源项目满足所有类型Haskell用户的需求。
如果您想参与Stack,请查看对新人友好GitHub问题跟踪器上的标签。
问题、反馈和讨论
如何为Stack的维护或开发做出贡献
A类指导旨在帮助潜在的贡献者堆栈项目。
如果您已经安装了Stack的一个版本,并且Git应用程序以下步骤应该可以帮助您从使用Stack从源构建Stack开始:
-
克隆堆栈
使用以下命令从GitHub获取存储库:
git克隆https://github.com/commercialhaskell/stack.git
-
将当前工作目录更改为克隆的堆栈
目录,带有命令:
-
构建堆栈
使用预先存在的Stack安装程序执行命令:
-
一旦堆栈
已生成可执行文件,请使用命令:
确保版本是最新的。
-
在GitHub存储库的问题跟踪器中,查找标记为对新人友好和等待拉入请求标签。
如果需要快速检查更改,请执行以下命令:
然后,在REPL的提示符下,命令:
:main--stack-root=<path_to_root>--stack-yaml=<path-to_stack.yaml><命令>
这允许您设置特殊的堆栈根(而不是默认的堆栈根)并将您的命令瞄准特定的堆垛山药
文件而不是文件在当前目录中找到。
如何卸载
要卸载Stack,只需删除:
- 堆栈根目录(请参见
堆栈路径--堆栈根
,在您之前卸载);
- 如果不同,则包含Stack的全局YAML配置文件的目录(请参见
堆栈路径--全局配置
,在卸载之前);
- 在Windows上,包含Stack工具的目录(请参阅
堆栈路径--程序
,在卸载之前),它位于堆栈根目录;和
- 这个
堆栈
可执行文件(请参见哪个堆栈
,在类Unix操作上系统,或where.exe堆栈
,在Windows上)。
您可能还想删除.堆垛工程
任何Haskell项目中的目录您使用Stack构建的。这个堆栈卸载
命令提供有关如何卸载Stack的信息。