response-native expo в circleci не может войти в систему: для этой команды требуется Expo CLI - PullRequest
0 голосов
/ 26 мая 2020

Я настраиваю конвейер ci / cd для моего приложения expo react-native с помощью circleci. Я следовал этому руководству . И это мой config.yml:

version: 2
publish: &publish
  working_directory: ~/loplop-native
  docker:
    - image: circleci/node:12.14.0
  steps:
    - checkout
    - restore_cache:
        name: Restore yarn package cache
        key: v1-cache-dependencies-{{ checksum "yarn.lock" }}-{{ checksum "package.json" }}-{{ arch }}
    - run:
        name: Install dependencies
        command: yarn install --frozen-lockfile
    - save_cache:
        name: Save yarn package cache
        paths:
          - ~/.cache/yarn
        key: v1-cache-dependencies-{{ checksum "yarn.lock" }}-{{ checksum "package.json" }}-{{ arch }}
    - run:
        name: Login into Expo
        command: npx expo login -u $EXPO_USERNAME -p $EXPO_PASSWORD
        # command: npx expo login --non-interactive -u $EXPO_USERNAME
    - run:
        name: Save current branch name to an env variable
        command: |
          if [ "${CIRCLE_BRANCH}" == "master" ]; then
            echo 'export EXPO_RELEASE_CHANNEL="default"' >> $BASH_ENV
          else
            echo 'export EXPO_RELEASE_CHANNEL=$CIRCLE_BRANCH' >> $BASH_ENV
          fi
    - run:
        name: Publish to Expo
        command: npx expo publish --non-interactive --max-workers 1 --release-channel $EXPO_RELEASE_CHANNEL

jobs:
  build_and_test:
    docker:
      - image: circleci/node:12.14.0
    steps:
      - checkout
      - restore_cache:
          name: Restore yarn package cache
          key: v1-cache-dependencies-{{ checksum "yarn.lock" }}-{{ checksum "package.json" }}-{{ arch }}
      - run:
          name: Install Expo-cli
          command: yarn global add expo-cli
      - run:
          name: Install dependencies
          command: yarn install --frozen-lockfile
      - save_cache:
          name: Save yarn package cache
          paths:
            - ~/.cache/yarn
          key: v1-cache-dependencies-{{ checksum "yarn.lock" }}-{{ checksum "package.json" }}-{{ arch }}

      - run:
          name: Run linting
          command: yarn lint

  publish_to_expo:
    <<: *publish

workflows:
  version: 2
  workflow:
      jobs:
        - build_and_test
        - publish_to_expo:
            filters:
              branches:
                ignore: gh-pages

Сценарий не работает на этапе входа в систему с этой ошибкой:

enter image description here

Я также пробовал использовать флаг --no-interactive, но все равно получаю ту же ошибку. Приветствуются любые предложения.

1 Ответ

0 голосов
/ 26 мая 2020

Сначала вам необходимо установить Expo CLI. Запустите yarn global add expo-cli или npm install -g expo-cli, затем запустите команды Expo напрямую, без npx (например, expo login ...)

...