0

我正在尝试使用 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。有没有办法获得有关可能导致问题的编码的更多信息?

4

0 回答 0