Github 操作 - /bin/sh: 1: jest: not found

Viv*_*vek 9 github yarnpkg github-actions

使用 Github 操作发布 npm 包,它可以正常工作并运行 jest 测试用例而不会出错。所以我决定添加 yarn 缓存来优化构建时间并且缓存过程有效,但是 jest 失败并出现以下错误。

$ jest --config=jest.config.js
/bin/sh: 1: jest: not found
error Command failed with exit code 127.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
##[error]Process completed with exit code 127.
Run Code Online (Sandbox Code Playgroud)

这是我的 yml

name: NPM Publish
on:
  push:
    branches: 
      - master

jobs:
  build:
    name: Build
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - uses: actions/setup-node@v1
        with:
          node-version: 12.x

      - name: Get yarn cache directory
        id: yarn-cache-dir-path
        run: echo "::set-output name=dir::$(yarn cache dir)"

      - uses: actions/cache@v1
        id: yarn-cache
        with:
          path: ${{ steps.yarn-cache-dir-path.outputs.dir }}
          key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
          restore-keys: |
            ${{ runner.os }}-yarn-

      - name: Install dependencies
        if: steps.yarn-cache.outputs.cache-hit != 'true'
        run: yarn install --frozen-lockfile

      - name: Test cases
        run: yarn run pdn:test
Run Code Online (Sandbox Code Playgroud)

ble*_*enm 0

我遇到了类似的问题,我参考了一些其他人的做法。也许可以尝试一下

- name: Cache dependencies
  uses: actions/cache@v1
  id: yarn-cache
  with:
    path: ${{ steps.yarn-cache-dir-path.outputs.dir }}
    key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
    restore-keys: |
      ${{ runner.os }}-yarn-
- name: Install Dependencies (from network)
  if: steps.cache-deps.outputs.cache-hit != 'true'
  run: |
    yarn policies set-version
    yarn install --frozen-lockfile --ignore-optional
- name: Install Dependencies (from cache)
  if: steps.cache-deps.outputs.cache-hit == 'true'
  run: |
    yarn policies set-version
    yarn install --frozen-lockfile --ignore-optional --offline
Run Code Online (Sandbox Code Playgroud)