composer update 時にpackageをdownloadできない

更新:2021/05/09 作成:2021/04/30

Laravel toutounode開発記録 備忘録 composer

概要

事象:composer update時にpackageがremote repositoryにないといわれてupdateができない
原因: 本家のPHPのライブラリリポジトリであるhttps://packagist.orgのパッケージ群がミラーサイトのhttps://packagist.jpに反映されておらず、packageをダウンロードできなかった
対策:composerが本家のリポジトリ(https://packagist.org)を参照するように変更する

経緯

GithubでLaravelの脆弱性アラートが来てたので、アップデートしようとした

image.png

composer update時にpackageがremote repositoryにないといわれてupdateができない

# composer update
Loading composer repositories with package information
Updating dependencies
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - Root composer.json requires fideloper/proxy ^4.0, found fideloper/proxy[4.3.0] in the lock file but not in remote repositories, make sure you avoid updating this package to keep the one from the lock file.
  Problem 2
    - Root composer.json requires laravel/framework ^6.2, found laravel/framework[v6.20.14] in the lock file but not in remote repositories, make sure you avoid updating this package to keep the one from the lock file.

composerの調子が悪いのかと思って composerのドキュメントをもとにトラブルシューティング

install時または、update時の問題なので、debugオプションをつけてinstallしてみた

#composer help install
~
Options:
  -v|vv|vvv, --verbose                                 Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug
~
composer install -vvv
~~~
[404] https://packagist.jp/p2/laravel/sail.json
Downloading https://packagist.jp/p2/laravel/framework~dev.json
[404] https://packagist.jp/p2/laravel/tinker.json

[200] https://packagist.org/providers/fideloper/proxy.json
Downloading https://packagist.org/providers/fruitcake/laravel-cors.json
[200] https://packagist.org/providers/fruitcake/laravel-cors.json
Downloading https://packagist.org/providers/guzzlehttp/guzzle.json
~~~

https://packagist.jpは404でhttps://packagist.orgは200
-> つまり、ミラーサイトがおかしそう

リポジトリを本家に変えて解決!

composer config -g repos.packagist composer https://packagist.org

updateが成功し、無事laravelのアップデートができました。

# php artisan -V
Laravel Framework 6.20.26