【PHP/composer】githubリポジトリにrequireコマンドが書いていないライブラリを、コマンドインストールする方法
| 更新: 2025/02/15 | 1890文字

今回は、composerを使ったPHPライブラリのインストールについてです。管理人はライブラリを使うときcomposer requireコマンドでサクッと入れていますが、単純にrequireできないものもあるので、その対処方法をご紹介。composerを使って日が浅い方には役に立つ情報かもしれません。さっそく、内容を確認していきましょう。
(*注:今回のケースでは、事前にcomposerをインストールした状態で行っています。)
目次
今回使ってみたいライブラリ~osm⁄sitemap-php
昔、管理人ははXMLサイトマップを手打ちで作っていたことがありますが、結構めんどくさいんですよね。打ち間違えによる、検索エンジン読み込みエラーみたいなリスクもあります。そこで、githubをいろいろ見ていたら、XMLサイトマップを生成できるPHPライブラリを見つけました。
『osm⁄sitemap-php』というものです。何個かライブラリ使っていると『includeとかautoloadで読んで、new ○○でインスタンスにして、値渡して~』のように、コードのイメージが出てきます。シンプルに使えそうなので、このライブラリを入れてみたいと思います。まずはcomposerで入れてみましょうか。
osm⁄sitemap-php(githubリポジトリ)
https://github.com/o/sitemap-php
composer requireコマンドでインストールを試みた~しかし失敗
で、管理人は『よくあるパターンだ』と思って、composer requireコマンドを試しました。でも、このライブラリは、githubリポジトリにcomposer requireコマンドが書いていないんですね。
とりあえず、インストールしたいディレクトリに入って、以下のコマンド実行。
エラーで入りませんでした。『composer.jsonが現在のディレクトリにない』『パッケージが見つからない』みたいなメッセージが出てきて、コマンド画面も真っ赤です。
しかし手はあります。requireコマンドが使えない場合はcomposer.jsonを使います。
composer.jsonにライブラリ情報を書いて、composer installコマンドでインストールしてみる
というわけで、composer.jsonを作ります。テスト用なのでdescriptionなどは適当です。ポイントはrequireの部分に、今回インストールするsitemap-phpの情報を記載しました。
プロジェクトのディレクトリは『C:\xampp\htdocs\study\2025-02_smtest』で、ここにライブラリ情報を書いたcomposer.jsonを置きました。cdでそのディレクトリに入って、インストールコマンドを叩きます。
composer install
さっきとは打って変わって、インストールが進みましたね~。
composer installコマンドでインストールできました。『vendorフォルダ』の中にsitemap-phpライブラリが入っています。そのほか、autoload.phpと、composerフォルダ(autoload_classmap.phpとかが入っている)もあります。
あとがき・まとめ
- PHPライブラリインストール時、管理人はいつものパターンだと思ってcomposer requireコマンドを使ったが、エラーで入らなかった
- composer.jsonにライブラリの情報を書いて、composer installを使ってインストールできた
まとめると、こんなところでしょうか。gemini apとかphpspreadsheetとかは、requireコマンドでサクッと入ったので油断していました(笑)requireコマンドがgithubリポジトリとかに書いていないときは、こっちの方法で入れてみましょう。
【カテゴリ】- PHP
【タグ】- composer, PHPライブラリ