百度权重网站,windows做的ppt下载网站,服务专业网页制作,全球访问量最大的网站排名文章目录 安装 GHCUP1. 指定国内镜像2. 执行安装3. 安装检查 安装 pandoc1. 初始化包列表2. 安装命令3. Trouble ShootingFailure to build cryptonMemory Exhausted 内存不足 安装 GHCUP
1. 指定国内镜像
在 GHCup 官方网站 上面提供了安装方式#xff1a;
curl --proto h… 文章目录 安装 GHCUP1. 指定国内镜像2. 执行安装3. 安装检查 安装 pandoc1. 初始化包列表2. 安装命令3. Trouble ShootingFailure to build cryptonMemory Exhausted 内存不足 安装 GHCUP
1. 指定国内镜像
在 GHCup 官方网站 上面提供了安装方式
curl --proto https --tlsv1.2 -sSf https://get-ghcup.haskell.org | sh但是大部分情况下我们都需要用到国内镜像来进行安装可以通过以下方法指定国内镜像进行下载安装这里参考了 如何安装 Haskell 工具链2022 年版 的安装介绍指定了中科大的镜像。
首先创建 ~/.cabal 目录并创建 config 文件
cd ~
mkdir .cabal
cd .cabal
vim config在 config 文件中指定镜像
repository mirrors.ustc.edu.cnurl: https://mirrors.ustc.edu.cn/hackage/secure: True2. 执行安装
在官方提供的命令中指定刚刚配置的镜像地址执行安装命令
curl --proto https --tlsv1.2 -sSf https://mirrors.ustc.edu.cn/ghcup/sh/bootstrap-haskell | BOOTSTRAP_HASKELL_YAMLhttps://mirrors.ustc.edu.cn/ghcup/ghcup-metadata/ghcup-0.0.8.yaml sh这里需要注意https://mirrors.ustc.edu.cn/ghcup/ghcup-metadata/ghcup-0.0.8.yaml 为本文安装时的最新版本建议安装时查看一下目前 中科大开源镜像-ghcup 索引页面中的最新版本并指定该版本的配置文件进行安装。
安装过程中安装程序会询问几个安装选项没有特殊要求可以全部 Enter 使用默认选项进行即可这个默认选项将会选择不安装 Haskell Language Server后续如果需要使用可以在 ghcup tui 中的界面再次安装。
3. 安装检查
安装完成之后此时命令行中已经可以使用 ghc ghcicabal 命令了执行命令查看版本检查是否安装成功
ghc --version
ghci --version
cabal --version安装 pandoc
安装 pandoc 有多种方式这里采用的是cabal 的官方安装指引中提供的安装方法。 yum install pandoc 通过 yum 安装的 pandoc默认安装版本较低功能有限建议安装较新版本具体看个人需求。此方法不需要通过 ghcup 和 cabal也不需要解决 gcc 版本问题。 1. 初始化包列表
首先需要更新一下 cabal 的包列表
cabal init2. 安装命令
安装命令
cabal install pandoc-cli默认安装的可执行路径在 ~/.cabal/bin 下如果需要指定安装路径可以添加选项 --installdir your-dir。另外可以使用 --force-reinstalls 选项进行重新安装但是需要注意这个选项将忽略其他包对此包的版本依赖可能会影响其他包的使用。
测试安装的 pandoc
cd ~/.cabal/bin
./pandoc --version可以看到已经安装了新版本的 pandoc
pandoc 3.1.13
Features: -server lua
Scripting engine: Lua 5.4
User data directory: /root/.local/share/pandoc
Copyright (C) 2006-2023 John MacFarlane. Web: https://pandoc.org
This is free software; see the source for copying conditions. There is no
warranty, not even for merchantability or fitness for a particular purpose.3. Trouble Shooting
Failure to build crypton
注意如果系统上的 gcc 版本太低将会导致如上安装报错可以通过 gcc --version 查看当前版本例如在 CentOS 7 上的默认 gcc 版本为 4.8.5此时需要升级 gcc 解决问题在 Github 上面也有一个 issue 提到了这个问题。
首先在 GNU 上面下载最新发型版本的 gcc 源码压缩包本文更新版本为 13.2.0下载文件 gcc-13.2.0.tar.gz放到服务器上解压到指定的目录
tar -zxvf /your-specified-dir gcc-13.2.0.tar.gz例如 /home/icexk解压之后进入该目录执行依赖下载脚本安装依赖
cd /home/icexk/gcc-13.2.0
./contrib/download_prerequisites然后创建 build 目录执行 configure 脚本进行编译前的配置
mkdir build
cd build
../configure -enable-checkingrelease -enable-languagesc,c -disable-multilib执行编译
make make install
# make -j 4 make install若资源允许可以添加 -j n 选项其中 n 为指定 cpu 数量提高编译速度否则默认将会单线程进行需要执行较长时间具体根据设备资源情况。
编译完成之后查看 gcc 版本此时仍然为旧版本因为 gcc 命令依然指向 /usr/bin/gcc 这个旧版本的可执行文件而新版本的 gcc 可执行文件默认在 /usr/local/bin 下面
因此最后还需要将 /usr/bin 下面的可执行文件以及动态链接库替换成编译之后得到的新版本的 文件可以将原命令文件备份然后新建软链接到新版本的命令文件和动态库
# 备份旧命令文件和动态链接库具体名称可根据习惯定义
mv /usr/bin/gcc /usr/bin/gcc-default
mv /usr/bin/g /usr/bin/g-default
mv /usr/bin/c /usr/bin/c-default
mv /usr/bin/cc /usr/bin/cc-default
mv /usr/lib64/libstdc.so.6 /usr/lib64/libstdc.so.6.default
# 新建软链接
ln -s /usr/local/bin/gcc /usr/bin/gcc
ln -s /usr/local/bin/g /usr/bin/g
ln -s /usr/local/bin/c /usr/bin/c
ln -s /usr/local/bin/gcc /usr/bin/cc
ln -s /usr/local/lib64/libstdc.so.6.0.32 /usr/lib64/libstdc.so.6在此检查 gcc 版本
[rootlocalhost bin]# gcc --version
gcc (GCC) 13.2.0
Copyright (C) 2023 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.可以看到此时已经是新版本的 gcc 了。
Memory Exhausted 内存不足
可以尝试在虚拟机控制器上面增加内存但是建议不要超过最大限制另外可以尝试释放一些进程或者关闭外部操作系统对于大多数读者来说应该是你的 Windows 系统上一些占用内存较多的程序因为本质上虚拟机使用的还是系统的资源。
最后尝试重启一下虚拟机再执行安装命令可以释放掉因上次安装内存不足而占用的 swap 交换内存以及 cache 缓存。