У меня настроен конвейер CircleCI для моего теста с использованием моментального снимка Jest, и один из моих тестов моментального снимка продолжает давать сбой. Я использую Javascript, чтобы сгенерировать объект Date (new Date("YYYY-MM-DD")
), и локально он выдает MM / DD / YYYY, но на изображении docker (node:8
) вместо этого выдается YYYY-MM-DD, поэтому проверка моментального снимка не пройдена. Я попытался настроить языковые стандарты следующим образом:
docker:
- image: circleci/node:8
environment:
TZ: "America/Los_Angeles"
LANG: en_US.UTF-8
LANGUAGE: en_US.UTF-8
LC_ALL: en_US.UTF-8
Но он жалуется, что не может установить языковой стандарт по умолчанию, поэтому я добавил:
- run:
name: Reconfigure Locale
command: sudo dpkg-reconfigure locales
, что, по-видимому, является решением для большинства люди, у которых была та же проблема, но не в моем случае.
Я также пытался получить тот же локальный docker образ и протестировать его там, и он отлично работал с этими командами:
RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y locales
RUN sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen && \
dpkg-reconfigure --frontend=noninteractive locales && \
update-locale LANG=en_US.UTF-8
Поэтому я попробовал это в командах circleci и sed, которые жаловались на разрешения, даже когда он вызывается с помощью sudo.