You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Bitbucket Pipeline中pnpm ci命令找不到问题求助

Bitbucket Pipeline中pnpm ci命令找不到问题排查

问题根源

Bitbucket Pipeline的每个步骤都是独立的Docker容器——你在install-pnpm步骤里全局安装的pnpm,只会存在于该步骤的容器环境中,不会自动传递到后续步骤。而你配置的pnpm缓存仅针对.pnpm-store包缓存目录,并不包含pnpm本身的可执行文件,所以第二个步骤自然找不到pnpm命令。

解决办法

方案1:在目标步骤中重新安装pnpm

利用缓存加速,直接在执行pnpm ci的步骤里加入pnpm安装命令:

pipelines:
  pull-requests:
    main:
      - step: *install-pnpm
      - step:
          name: 'Build and test apps on pull requests'
          caches:
            - pnpm
            - node
          script:
            - curl -f https://get.pnpm.io/v6.16.js | node - add --global pnpm@7
            - pnpm ci
            - npx nx workspace-lint

方案2:使用预装pnpm的Docker镜像

替换默认镜像为官方pnpm镜像,省去手动安装步骤:

image: pnpm/pnpm:7-node-latest

definitions:
  caches:
    pnpm: $BITBUCKET_CLONE_DIR/.pnpm-store
  steps:
    - step: &build
        name: 'Run Build'
        script:
          - echo "Running build..."
          - pnpm run build

pipelines:
  pull-requests:
    main:
      - step:
          name: 'Build and test apps on pull requests'
          caches:
            - pnpm
            - node
          script:
            - pnpm ci
            - npx nx workspace-lint

方案3:将pnpm安装到项目目录本地调用

把pnpm安装到项目node_modules目录,后续用相对路径调用:
修改install-pnpm步骤:

- step: &install-pnpm
    name: 'Install pnpm'
    script:
      - echo "Installing pnpm"
      - npm install pnpm@7 --save-dev
      - ./node_modules/.bin/pnpm -v
    caches:
      - pnpm
      - node

后续步骤调用时使用相对路径:

script:
  - ./node_modules/.bin/pnpm ci
  - npx nx workspace-lint

内容的提问来源于stack exchange,提问作者kittu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 16:01:08