【问题标题】:No version of Cypress is installed in Ci (TravisCI and CircleCI)Ci(TravisCI 和 CircleCI)中未安装 Cypress 版本
【发布时间】:2018-06-05 17:49:17
【问题描述】:

更新到赛普拉斯3.0 时,我在 CI 中收到此错误,表示未安装赛普拉斯,但我在我的 cypress run 命令之前运行npm install。错误:

No version of Cypress is installed in: 

/home/ubuntu/.cache/Cypress/3.0.1/Cypress

Please reinstall Cypress by running: cypress install
----------

为什么赛普拉斯找不到赛普拉斯可执行文件?

这是我的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/*

【问题讨论】:

    标签: continuous-integration e2e-testing cypress


    【解决方案1】:

    这是缓存node_modules 的一个小问题- 安装赛普拉斯二进制文件的安装后脚本将不会运行,因为node_modules/cypress 存在。

    要解决此问题,您可以刷新 CI 构建的缓存,一切都会得到解决。 这就是我推荐使用npm ci 的原因,因为每次运行命令时node_modules 都会被清除

    还有: - 在 Circle CI 2.0 中,缓存的工作方式与 1.0TravisCI 不同,因为缓存是不可变的。您只能创建另一个缓存,而不能销毁和重写一个。所以,你应该像这样进行缓存:

    - 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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-11-18
      • 1970-01-01
      • 2020-12-13
      • 2021-04-28
      • 1970-01-01
      • 2021-12-30
      • 2022-07-23
      相关资源
      最近更新 更多