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

Bitbucket Pipeline中npm install报错‘npm ERR! fatal: unable to access’求助

解决Bitbucket Pipeline运行Node测试时的npm拉取依赖失败问题

看你给出的配置和报错信息,应该是npm拉取私有Git依赖时没有权限导致的。先把你的场景再理一遍:

你用的Pipeline配置是:

image: channagayan/node_test:latest
pipelines:
  default:
    - step:
        caches:
          - node
        script:
          # Modify the commands below to build your repository.
          - cd NodeApi && pwd && npm install
          - npm test

执行时卡在npm install环节,报错片段是:

npm ERR! Error while executing:
npm ERR! /usr/bin/git ls-remote -h -t https://git@gi...

问题原因

这个错误的核心是:Bitbucket Pipeline的运行环境默认没有配置你私有Git仓库的访问凭据,当npm install要拉取私有仓库里的依赖包时,Git没有权限访问,就会抛出这个错误。

解决步骤

1. 在Bitbucket仓库添加访问凭据

先去你的Bitbucket仓库的**设置 → 仓库变量(Repository variables)**页面,添加两个安全变量:

  • GIT_USERNAME:你的Git账号用户名(如果是Bitbucket私有库,就是Bitbucket用户名;如果是GitHub就是GitHub用户名)
  • GIT_PASSWORD:对应的个人访问令牌(别用明文密码,不安全,去对应Git平台的设置里生成一个有仓库读权限的令牌)
    记得勾选变量的"Secured"选项,防止明文泄露。

2. 修改Pipeline配置,提前配置Git凭据

调整你的script部分,在npm install前先配置Git的凭据,让npm能通过HTTPS正常访问私有仓库:

image: channagayan/node_test:latest
pipelines:
  default:
    - step:
        caches:
          - node
        script:
          # 配置Git全局凭据,解决私有依赖拉取权限问题
          - git config --global credential.helper store
          # 把凭据写入git-credentials文件,这里以GitHub为例,Bitbucket就换成bitbucket.org
          - echo "https://$GIT_USERNAME:$GIT_PASSWORD@github.com" > ~/.git-credentials
          # 执行项目初始化和测试
          - cd NodeApi && pwd && npm install
          - npm test

3. 额外检查项

  • 确认你package.json里的私有依赖是HTTPS格式的,比如:
    "dependencies": {
      "my-private-lib": "git+https://git@github.com/your-username/your-private-repo.git"
    }
    
    尽量别用SSH格式,SSH需要额外配置密钥,步骤更繁琐。
  • 如果还是有问题,可以试试在npm install前加一句npm cache clean --force,清除可能存在的缓存问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 10:00:16