安装或升级
安装堆栈
Stack可以安装在大多数Linux发行版、macOS和Windows上。
Stack可以支持更多的操作系统。请求支持操作系统,请提交问题在Stack的GitHub存储库。
信息
除了下面描述的方法外,还可以安装Stack使用单独的GH杯的安装程序Haskell相关工具。GHCup为某些机器组合提供堆栈其他地方没有提供体系结构和操作系统。与Stack不同,其他构建工具不会自动安装GHC。GHCup可用于为其他工具安装GHC。默认情况下,安装GHCup的脚本(可以多次运行)还配置Stack,以便如果Stack需要GHC版本,GHCup将接管获取和安装版本。
GitHub上的版本
堆栈可执行文件也可在发布第页,共页Stack的GitHub存储库。
https://get.haskellstack.org/stable
URL
格式为的URLhttps://get.haskellstack.org/stable/<平台><扩展>
指向最新稳定版本。有关示例,请参阅手册下载链接。
对于大多数Linux发行版,直接安装Stack的最简单方法(而不是使用GHCup)是为了命令:
卷曲-sSLhttps://get.haskellstack.org网址/|小时
或:
wget-qO-https://get.haskellstack.org网址/|小时
注释
脚本位于get.haskellstack.org网站将使用请求root访问权限苏多
。它需要这样的访问才能使用用于安装依赖项和安装的平台包管理器到/usr/local/bin
如果您更喜欢控制,请按照手册操作下面是您的平台的安装说明。
手动下载
Linux发行版的手动下载取决于您的机器体系结构,x86_64或AArch64/ARM64。
Linux软件包
一些Linux发行版有Stack的官方或非官方软件包,包括Arch Linux、Debian、Fedora、NixOS、openSUSE/SUSE Linux Enterprise、,和Ubuntu。
落后于Stack当前版本的Linux包
作为Linux包提供的Stack版本可能落后于Stack的当前版本。如果是,请使用堆栈升级--仅限二进制
是建议在安装后使用。对于1.3.0之前的Stack版本不支持--仅二进制
,只是堆栈升级
可能也有用。
可以设置堆栈命令的自动完成。进一步了解信息,请参阅外壳自动完成文档。
macOS上Stack的大多数用户也将拥有最新的软件工具开发(参见Xcode命令行工具(见下文)。
从2020年末开始,苹果开始从Mac电脑向Intel电脑过渡处理器(基于Intel-based Mac)到苹果硅Mac电脑.
基于Intel的Mac计算机具有x86_64体系结构的处理器。对于大多数基于Intel的Mac计算机,安装Stack的最简单方法直接(而不是使用GHCup)命令:
卷曲-sSLhttps://get.haskellstack.org/|小时
或:
wget-qO-https://get.haskellstack.org网址/|小时
信息
我们通常在当前版本的macOS上进行测试,并尽最大努力保持它与三个最新的主要版本兼容。堆栈可能也适用于旧版本。
手动下载
带有苹果硅的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网址/|小时
注释
脚本位于get.haskellstack.org网站将使用请求root访问权限苏多
。它需要这样的访问权限使用平台的包管理器安装依赖项和要安装到/usr/local/bin
。如果您更喜欢控制,请遵循下面的手动安装说明。
安装Stack或一些包(例如。网络
)需要C源编译可能会失败,原因是configure:error:C编译器无法生成可执行文件
.那样的话,你应该通过-拱臂64
作为一部分的CFLAGS公司
环境变量。此设置将由您选择的C编译器。
#假设BASH低于
#传递与导致错误的命令内联的CFLAGS
CFLAGS公司=“-拱臂64${CFLAGS公司:-}" some_command_to_install_stack(某些命令到安装堆栈)CFLAGS公司=“-拱臂64${CFLAGS公司:-}" 堆栈 [建造|安装]
#--或--
#~/.bash_profile
#注意:只有在不需要交叉编译或记住取消设置时才需要执行此操作
#需要时CFLAGS
出口 CFLAGS公司=“-拱臂64${CFLAGS公司以下为:-}"
该设置指示C编译器编译ARM64的对象。这些然后可以与为ARM64构建的库链接。没有指令,由运行在x86-64中的Cabal调用的C编译器将编译x86-64对象并尝试将其与现有ARM64链接库,导致上述错误。
手动下载
使用自制软件
自制软件是一个流行的macOS包管理器。如果你有它的酿造
工具已安装,您只需命令:
macOS并没有提供软件开发所需的所有工具,但一组有用的工具,称为Xcode命令行工具,是随时可用。每个Xcode版本(苹果的集成开发环境),还可以从Apple单独获得Xcode。该系列还包括macOS SDK(软件开发工具包)。macOS SDK提供标头macOS API的文件。
如果使用的命令引用通用Xcode命令行工具,并且未安装Xcode命令行工具,macOS可能会提示您安装工具。
macOS还附带一个命令行工具,xcode选择
,可以使用以获取Xcode命令行工具。命令xcode-select--打印路径
打印当前选定(活动)开发人员目录的路径。如果目录不存在或为空,则Xcode命令行工具未安装。
如果未安装Xcode命令行工具,请使用命令xcode-select--安装
打开要请求的用户界面对话框工具的自动安装。
macOS的升级有时可能需要现有的Xcode命令行要卸载的工具和要安装的工具的更新版本。可以通过删除报告的目录来卸载现有工具xcode-select--打印路径
.
如果在安装Stack后,运行堆栈设置
以失败configure:error:无法运行C编译的程序。
这表明未安装Xcode命令行工具。
如果构建失败,并显示以下消息*.小时
找不到文件,这可能还指示Xcode命令行工具不是最新的。
Xcode 10为macOS 10.14(Mojave)和更改了位置macOS系统标头的。作为解决方法,提供了一个额外的包由Apple公司在/usr/include(使用/包含)
.
堆栈命令的自动完成
可以设置“堆栈”命令的自动完成。进一步了解信息,请参见外壳自动完成文档。
在64位Windows上,直接安装Stack(而不是使用GHCup)下载并使用Windows安装程序.
长用户PATH环境变量
Stack 2.9.1、2.9.3和2.11.1的Windows安装程序(仅限)将替换用户路径
环境变量(而不是附加到它)如果超过1024个字符的限制。如果您现有的用户路径
很长,请在运行安装程序之前保留它。
抗病毒软件
带有防病毒软件的系统可能需要将Stack添加到“受信任”的应用程序。
您可能会看到“Windows Defender SmartScreen阻止了无法识别的app from starting”警告。如果是,点击更多信息,然后单击仍要运行按钮出现。
我们建议使用安装程序安装到默认位置,因为将使烟囱安装
和堆栈升级
开箱即用。
手动下载
路径
您可以通过将可执行文件复制到PATH上的任何位置来安装Stack。A类安装的好地方是Stack本身将安装的同一目录可执行文件,这取决于操作系统:
堆栈将可执行文件安装到:
如果PATH中没有该目录,则可能需要更新路径。可以通过编辑~/.bashrc
文件。
堆栈将可执行文件安装到:
例如:C: \Users\<用户名>\AppData\Roaming\local\bin
.
如果PATH中没有该目录,则可能需要更新路径。这可以通过搜索“Edit Environment variables for your帐户”。
注释
如果您使用GH杯安装烟囱、GHCup将可执行文件放入箱子
GHCup根目录中的目录。
中国用户
如果您试图在中国境内安装Stack:
###如果您住在中国,请添加此内容
安装位置:
- "http://mirrors.tuna.tsinghua.edu.cn/stackage/stack-setup.yaml"
网址:
最新快照: http://mirrors.tuna.tsinghua.edu.cn/stackage/snapshots.json
一揽子指数:
- 下载-前缀: http://mirrors.tuna.tsinghua.edu.cn/hackage/
使用HTTP代理
在具有IP地址的HTTP代理后面使用堆栈IP(IP)和端口港口,第一组上调环境变量http_代理
然后运行Stack命令。对于示例:
升级堆栈
升级Stack有不同的方法类Unix操作系统(包括macOS)和Windows。
注释
如果您使用GH杯要安装Stack,您还应使用GHCup升级Stack。GHCup使用名为堆栈
通过文件管理Stack的版本堆叠垫片
。堆栈将升级时可能会覆盖可执行文件。
基本上有四种不同的方法:
-
这个堆栈升级
命令,用于下载堆栈可执行文件,或从源代码构建它,并将其安装到Stack的“local-bin”目录(请参见堆栈路径--local-bin
). 如果不同且允许在当前Stack可执行文件的目录中安装副本。(如果不允许复制,复制堆栈
来自Stack的“local-bin”目录到系统位置。)你可以使用堆栈升级
获取最新的官方版本,以及堆栈升级--git
要安装来自GitHub,生活在流血边缘。确保堆栈可执行文件位于PATH上。请参阅路径第节。
-
如果您正在使用包管理器,并且对坚持使用发行版中正式发布的二进制文件(这可能会延迟在最新版本的Stack之后),只需遵循您的用于升级的常规包管理器策略。例如:
-
这个get.haskellstack.org网站
脚本支持-(f)
的参数覆盖当前堆栈可执行文件。例如,命令:
卷曲-sSLhttps://get.haskellstack.org/| sh-s--f
或:
wget-qO-https://get.haskellstack.org网址/| sh-s--f
-
手动按照上述步骤从下载最新的可执行文件GitHub发布页面并替换旧的可执行文件。
基本上有两种不同的方法:
-
这个堆栈升级
命令,用于下载堆栈可执行文件,或从源代码构建它,并将其安装到Stack的“local-bin”目录(请参见堆栈路径--local-bin
). 如果不同且允许在当前Stack可执行文件的目录中安装副本。(如果不允许复制,复制堆栈
来自Stack的“local-bin”目录到系统位置。)你可以使用堆栈升级
获取最新的官方版本,以及堆栈升级--git
安装来自GitHub,生活在流血边缘。确保堆栈可执行文件位于PATH上。请参阅路径第节。
-
手动按照上述步骤从下载最新的可执行文件GitHub发布页面并替换旧的可执行文件。
安装早期版本
要安装特定版本的Stack,请在GitHub发布页面、和单击其“资产”下拉菜单下的相应链接。
或者,使用URLhttps://github.com/commercialhaskell/stack/releases/download/vVERSION/stack-VERSION-PLATFORM.EXTENSION
.例如,Stack版本2.1.0.1,osx-x86_64的tarball位于https://github.com/commercialhaskell/stack/releases/download/v2.1.0.1/stack-2.1.0.1-osx-x86_64.tar.gz
.
这里有一段appveyor.yml公司
文件,借用自达尔
的估价师.yml
.根据需要更改PATH和VERSION的值。
安装:
- 设置PATH=C:\Program Files\Git\mingw64\bin;%路径%
- curl--silent--show-error--output stack.zip--location“https://github.com/commercialhaskell/stack/releases/download/v%stack_VERSION%/stack-%STACK_VERSION%-windows-x86_64.zip“
- 7z x堆栈.zip堆栈.exe
- 堆栈设置>空
- git子模块更新--init--recursive