【问题标题】:Circleci Jest not Found?没有找到Circleci Jest?
【发布时间】:2019-09-29 17:33:11
【问题描述】:

在我的本地电脑上,我可以运行“npm test”命令而没有任何错误。但是当我将我的功能分支推送到 Github 时,Circleci 无法运行我的测试并最终出现类似的错误

sh: 1: jest: not found
npm ERR! Test failed.  See above for more details.
Exited with code 1

我正在使用这个 Circleci config.yml 文件,但它不工作:

version: 2.1

jobs:
  build:
    docker:
      - image: circleci/node:10.1.0

    steps:
      - checkout

      - restore_cache:
          keys:
          - v1-dependencies-{{ checksum "package.json" }}
          - v1-dependencies-

      - run: npm install

      - save_cache:
          key: v1-dependencies-{{ checksum "package.json" }}
          paths:
            - node_modules
  test:
    docker:
      - image: circleci/node:10.1.0

    steps:
      - checkout

      - run:
          name: Test
          command: npm test

      - run:
          name: Generate code coverage
          command: './node_modules/.bin/nyc report --reporter=text-lcov'

      - store_artifacts:
          path: test-results.xml
          prefix: tests

      - store_artifacts:
          path: coverage
          prefix: coverage

workflows:
  version: 2.1
  build_and_test:
    jobs:
      - build
      - test:
          requires:
            - build

如果我改用这个 config.yml,它可以工作:

version: 2.1

jobs:
  build:
    docker:
      - image: circleci/node:10.1.0

    steps:
      - checkout

      - restore_cache:
        keys:
        - v1-dependencies-{{ checksum "package.json" }}
        - v1-dependencies-

      - run: npm install

  - save_cache:
      paths:
        - node_modules
      key: v1-dependencies-{{ checksum "package.json" }}

  - run: npm test 

我想知道为什么第一个 config.yml 文件不起作用?对此有任何线索吗? 谢谢大家。

【问题讨论】:

    标签: docker node-modules circleci circleci-2.0


    【解决方案1】:

    在第一个配置中,您在 test 作业中运行 npm test。您需要安装 Jest,但您从未安装过它,因此它失败了。

    在第二个配置中,在运行 npm test 之前,首先运行 npm install,我假设它正在安装 Jest。

    虽然您在第一个配置中运行 npm install,但它是在 build 作业中运行的,而不是在 test 作业中运行的。两个不同的工作,意味着两个不同的容器。它们彼此无关。

    【讨论】:

    • 问题是,在第一个配置中,我保存了缓存,但在测试作业中,我没有恢复缓存,这是丢失的。
    • cna 你把你的答案放进去,这样我们就可以看到解决方案
    猜你喜欢
    • 2019-12-22
    • 2018-03-14
    • 1970-01-01
    • 1970-01-01
    • 2020-05-22
    • 2019-05-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多