Никакая версия Cypress не установлена ​​в Ci (TravisCI и CircleCI)

bkucera спросил: 12 мая 2018 в 04:09 в: continuous-integration

Я получаю эту ошибку в CI при обновлении до Cypress 3.0, говоря, что Cypress не установлен, но я запускаю npm install до моего cypress run команда. Ошибка:

No version of Cypress is installed in: /home/ubuntu/.cache/Cypress/3.0.1/CypressPlease reinstall Cypress by running: cypress install
----------

Почему Cypress не находит исполняемый файл Cypress?

Вот мой circle.yml:

build:
    <<: *defaults
    steps:
      - checkout
      - restore_cache:
          keys:
            - v1-npm-deps
      - run: npm install
      - save_cache:
          key: v1-npm-deps-{{ checksum "package.json" }}
          paths:
            - node_modules
            - ~/.cache
            - ~/.npm
      - run: npm test
      - run: npm run build
      - persist_to_workspace:
          root: /tmp/workspace
          paths:
            - .circleci/deploy.sh
            - .circleci/e2e-test.sh
            - package.json
            - cypress.json
            - node_modules/
            - build/*
            - cypress/*

1 ответ

Есть решение
bkucera ответил: 16 мая 2018 в 11:16

Это небольшая проблема с кэшированием node_modules - сценарий после установки, который устанавливает бинарный файл Cypress, не будет выполняться с node_modules/cypress.

To исправьте это, вы можете очистить кеш сборки CI, и все должно быть разрешено. Именно поэтому я рекомендую использовать npm ci, так как node_modules будет очищен каждый время выполнения команды

Также: - в Circle CI 2.0 кеширование работает по-другому, чем в 1.0 или TravisCI, потому что кеш является неизменным. Вы можете создать еще один кеш, никогда не уничтожать и переписывать его. Итак, вы должны сделать кеширование следующим образом:

- restore_cache:
  keys:
    - v1-deps-{ .Branch }-{ checksum "package.json" }
    - v1-deps-{ .Branch }
    - v1-deps
- run:
  - npm ci
- save_cache:
  key: v1-deps-{ .Branch }-{ checksum "package.json" }
  paths:
    - ~/.cache
    - ~/.npm