Я получаю эту ошибку в 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/*
Это небольшая проблема с кэшированием
node_modules
- сценарий после установки, который устанавливает бинарный файл Cypress, не будет выполняться сnode_modules/cypress
.To исправьте это, вы можете очистить кеш сборки CI, и все должно быть разрешено. Именно поэтому я рекомендую использовать
npm ci
, так какnode_modules
будет очищен каждый время выполнения командыТакже: - в Circle CI 2.0 кеширование работает по-другому, чем в
1.0
илиTravisCI
, потому что кеш является неизменным. Вы можете создать еще один кеш, никогда не уничтожать и переписывать его. Итак, вы должны сделать кеширование следующим образом: