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

Bitbucket Pipeline安装npm与Angular CLI失败,求助升级Node版本

解决Bitbucket Pipeline中Node版本过低导致的npm安装错误

问题根源

你的Pipeline使用的Node v8.9.4版本过于老旧,对应的npm版本不支持新的依赖URL格式(如npm:string-width@^4.2.0这种带npm:前缀的协议),因此安装@angular/cli时触发EUNSUPPORTEDPROTOCOL错误。同时旧版本Node/npm的兼容性也会导致npm install -g运行异常。

解决方案

以下两种方法均可在Bitbucket Pipeline中升级Node版本至与本地一致的v20.15.1:

方法一:使用指定版本的官方Node Docker镜像

直接在Pipeline步骤中指定预装了对应Node版本的官方镜像,这是最简单高效的方式:

修改后的Pipeline配置:

- step:
    name: Web Admin Portal Deployment
    image: node:20.15.1  # 匹配本地Node版本的官方镜像
    caches:
      - node
    script:
      - cd Admin
      - npm install -g
      - npm install -g @angular/cli
      - ng build --configuration staging

官方Node镜像已自带对应版本的npm,无需额外配置,环境与本地完全对齐,缓存机制也能正常工作。

方法二:通过nvm在默认镜像中安装指定Node版本

若不想更换基础镜像,可使用nvm(Node版本管理器)安装并切换到目标版本:

修改后的script部分:

script:
  - cd Admin
  # 安装nvm
  - curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
  # 加载nvm环境变量
  - export NVM_DIR="$HOME/.nvm"
  - [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
  # 安装并切换到指定Node版本
  - nvm install 20.15.1
  - nvm use 20.15.1
  # 验证版本(可选)
  - node --version
  - npm --version
  # 执行原有部署命令
  - npm install -g
  - npm install -g @angular/cli
  - ng build --configuration staging

注意事项

  • Angular 16及以上版本要求Node.js 16.14.0或更高,v20.15.1完全符合要求,与本地版本一致可避免兼容性问题。
  • 使用官方镜像时,node缓存会自动适配新版本的npm模块,无需额外调整。

内容的提问来源于stack exchange,提问作者Yossi G.

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 02:03:12