composer lock中包源失效解决办法

1. 问题

erater / speech-rater / queue ,在 composer.lock 的 source url 为 gitlab.sample.com.git (该地址已废弃)

如果直接安装其他包,比如rabc ,会报错 erater 的地址不对,不能读取remote repository 。 安装失败

如何解决composer.lock 中已经失效的源呢?

错误信息

$ composer require rbac
...
[RuntimeException]
  Failed to execute git clone --no-checkout 'git@gitlab.sample.com:core/lib/ets-speech-rater.git' '/app/sample/vendor/ets/speech-rater' && cd '/app/sample/vendor/ets/speech-rater' && git remote add composer 'git@gitlab.sample.com:core/lib/ets-speech-rater.git' && git fetch composer
  ssh: Could not resolve hostname gitlab.sample.com: Name or service not known
  fatal: Could not read from remote repository.
  Please make sure you have the correct access rights
  and the repository exists.
  ...

对使用失效源的包进行处理

  1. 先删除,再安装 (其他包版本不会更改)
$ composer remove ets/speech-rater
$ composer require ets/speech-rater
...
  Executing command (CWD): git clone --no-checkout 'git@git.sample.com:samplecore_lib/ets-erater.git' '/app/sample/vendor/ets/e-rater' && cd '/app/sample/vendor/ets/e-rater' && git remote add composer 'git@git.sample.com:samplecore_lib/ets-erater.git' && git fetch composer
Executing command (/app/sample/vendor/ets/e-rater): git branch -r
Executing command (/app/sample/vendor/ets/e-rater): git checkout '1.0.2' --
Executing command (/app/sample/vendor/ets/e-rater): git reset --hard 'fe872f6ddd977e61dfbc5119410f8c8225b799d4' --
    REASON: Required by the root package: Install command rule (install ets/e-rater 1.0.0|install ets/e-rater 1.0.1|install ets/e-rater 1.0.2)
...
  1. 使用 update 更新该包 (其他包版本会更改 - 依赖的包版本同步更改?)
 $ composer update ets/speech-rater -vvv
  1. 使用 require 更新该包 (其他包版本不会更改; 推荐,也可以指定更新的版本)
$ composer require ets/e-rater -vvv 
...
      - Installing ets/e-rater (1.0.2): Cloning fe872f6ddd977e61dfbc5119410f8c8225b799d4
Executing command (CWD): git clone --no-checkout 'git@git.sample.com:samplecore_lib/ets-erater.git' '/app/sample/vendor/ets/e-rater' && cd '/app/sample/vendor/ets/e-rater' && git remote add composer 'git@git.sample.com:samplecore_lib/ets-erater.git' && git fetch composer
Executing command (/app/sample/vendor/ets/e-rater): git branch -r
Executing command (/app/sample/vendor/ets/e-rater): git checkout '1.0.2' --
Executing command (/app/sample/vendor/ets/e-rater): git reset --hard 'fe872f6ddd977e61dfbc5119410f8c8225b799d4' --
    REASON: Required by the root package: Install command rule (install ets/e-rater 1.0.2|install ets/e-rater 1.0.0|install ets/e-rater 1.0.1|install ets/e-rater 1.0.2)
...
  1. 执行完后
    开发目录, 安装 composer require sample/laravel-rbac -vvv 包

“content-hash”: “b939e11498c726ffb2f4c17f2b24e9d0”

发生更改;

增加 sample/laravel-rbac , sample/rbac 安装内容

  1. 代码上传到 测试环境,
    composer.json 和 composer.lock 和 开发环境一致
    vendor 为之前的文件
composer require sample/laravel-rbac -vvv

成功安装rbac

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值