github action 的 pnpm --filter 和本地执行不一致?

288 天前
 linzhe141

Release.yml

name: Release

on:
  push:
    tags:
      - 'v*'

jobs:
  release:
    name: Release
    runs-on: ubuntu-latest

    steps:
      - name: Checkout Branch
        uses: actions/checkout@v4

      - name: Install pnpm
        uses: pnpm/action-setup@v2
        with:
          version: 8

      - name: Use Node.js 20
        uses: actions/setup-node@v4
        with:
          node-version: 20
          cache: pnpm

      - name: Display dir tree
        run: pnpm run buildBefore

      - name: Install Dependencies
        run: pnpm install

      - name: Build Packages
        run: pnpm run build

      - name: Publish to npm
        id: changesets
        uses: changesets/action@v1
        with:
          publish: pnpm changeset publish
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
          NPM_TOKEN: ${{ secrets.NPM_TOKEN }}

github actions log

> @ build /home/runner/work/linzhe-tools/linzhe-tools
> rm -rf dist && pnpm run -r --filter ./packages/* build:src && pnpm run build:Dist

None of the selected packages has a "./packages/linzhe-tools" script

本地 log

> @ build D:\study\linzhe-tools
> rm -rf dist && pnpm run -r --filter ./packages/* build:src && pnpm run build:Dist

Scope: 3 of 6 workspace projects

github actions 会出现一个莫名其妙的脚本“./packages/linzhe-tools”,说找不到

1055 次点击
所在节点    Node.js
2 条回复
linzhe141
288 天前
pnpm run -r --filter ./packages/* build:src 改成 pnpm run -r --filter=./packages/* build:src ,filter 的参数改成“=”就可以了🤯
kemchenj
285 天前
看起来像是 ./packages/* 被 shell 展开了?加了个双引号括住它试试

pnpm run -r --filter "./packages/*" build:src

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1011401

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX