circleci中的本机expo无法登录:此命令需要Expo CLI

问题描述 投票:0回答:1

我正在使用circleci为我的expo react-native应用程序设置ci / cd管道。我关注了this tutorial。这是我的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标志,但是仍然遇到相同的错误。任何建议将不胜感激。

react-native continuous-integration expo circleci
1个回答
0
投票

您需要先安装Expo CLI。运行yarn global add expo-clinpm install -g expo-cli,然后直接运行Expo命令,而无需npx(例如expo login ...

© www.soinside.com 2019 - 2024. All rights reserved.