Как настроить мои `travis.yaml`` jobs.include` и `before_install` для установки стека для macOS? - PullRequest
0 голосов
/ 13 октября 2018

Хотя я реализовал шаги , описанные в инструкциях

before_install:
# Download and unpack the stack executable
- mkdir -p ~/.local/bin
- export PATH=$HOME/.local/bin:$PATH
- travis_retry curl -L https://get.haskellstack.org/stable/linux-x86_64.tar.gz | tar xz --wildcards --strip-components=1 -C ~/.local/bin '*/stack'

в my travis.yaml эти сбой , когда япопытаться собрать на macOS, используя

jobs:
  include:
  ...
  - name: "LTS 9.6 (Haskell for macOS)"
    os: osx
    osx_image: xcode10
    env: ...
    ...

с

tar: Option --wildcards is not supported
Usage:
  List:    tar -tf <archive-filename>
  Extract: tar -xf <archive-filename>
  Create:  tar -cf <archive-filename> [filenames...]
  Help:    tar --help
curl: (23) Failed writing body (0 != 597)
The command "curl -L https://www.stackage.org/stack/linux-x86_64" failed. Retrying, 2 of 3.
curl: (23) Failed writing body (0 != 597)
The command "curl -L https://www.stackage.org/stack/linux-x86_64" failed. Retrying, 3 of 3.
curl: (23) Failed writing body (0 != 597)
The command "curl -L https://www.stackage.org/stack/linux-x86_64" failed 3 times.

Как мне изменить travis.yaml jobs.include и before_install для установки стека для macOS?

1 Ответ

0 голосов
/ 13 октября 2018

Пара вещей.

  1. Я бы не использовал travis_retry здесь, поскольку curl имеет флаг --retry , который работает лучше.
  2. macOS использует BSD tar, а не GNU tar.Вы можете либо:
    1. Найти общий флаг, который работает на обоих
    2. Установить gnu-tar, и использовать его вместо этого.(Эта формула требует больше, чем просто brew install gnu-tar, если вы хотите выполнить ее как tar, поэтому обязательно установите ее правильно.)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...