我正在尝试使用 Gitlab Pages 自动部署我的 Hakyll 博客,但我一直遇到文件编码问题。
在构建页面时,我收到以下错误:
[ERROR] /builds/jmite/hakyll/.stack/snapshots/x86_64-linux/lts-8.14/8.0.2/share/x86_64-linux-ghc-8.0.2/pandoc-citeproc-0.10.4.1/locales/locales-C-.xml: openBinaryFile: does not exist (No such file or directory)
我的.gitlab-ci.yaml
样子是这样的:
image: fpco/stack-build:lts-8.14
before_script:
- LC_ALL=en_CA.UTF-8
- LANG=en_CA.UTF-8
- apt-get update && apt-get install xz-utils make
- export STACK_ROOT=`pwd`/.stack
- stack setup
- stack install --only-dependencies
- stack build
build:
cache:
paths:
- _cache
- .stack
script:
- stack exec site build
except:
- master
pages:
cache:
paths:
- _cache
- .stack
script:
- stack exec site build
artifacts:
paths:
- public
only:
- master
我尝试将语言环境信息添加到我的配置中:
- LC_ALL=en_CA.UTF-8
- LANG=en_CA.UTF-8
但后来我收到以下错误:
/bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_CA.UTF-8)
[ERROR] ./templates/default.html: hGetContents: invalid argument (invalid byte sequence)
我怎样才能解决这个问题?有没有办法(1)更改本地机器上的编码,然后推送到 GitLab,以便文件将匹配 Pandoc 所期望的任何内容,或者(2)配置 GitLab CI 以使用它们的编码方式现在?
当我在 vscode 中打开文件时,它说它们是 UTF-8。有没有办法获得有关可能导致问题的编码的更多信息?