1. ホーム
  2. php

[解決済み] Composerを使わずにComposerのPHPパッケージをインストールするにはどうしたらいいですか?

2022-06-30 08:28:33

質問

Coinbase PHP API をインストールしようとしていますが、Composer が必要です。

https://github.com/coinbase/coinbase-php

Composer を使用せずに composer パッケージを直接サーバーにインストールできるような、普遍的な PHP ソリューション (おそらく関数) を探しています。

Composerの開発者は自分たちが人々を助けていると信じていると思いますが、実際には何千人もの初心者開発者が「Composerの壁」によってウェブ開発の学習から締め出されているのです。

柔軟な解決策や、Composer なしでインストールできるようなアプローチがあれば本当に助かるのですが。どうすればよいのでしょうか。

皮肉なコメントで反応しないでください。 . Composer を使いたくないという人もいますし、Web 開発をするために特定のサードパーティ製ソフトウェアに群がる必要はないと思います。

どのように解決するのですか?

この composer.json ファイル は依存関係をリストアップします。あなたの例では

"require": {
    "php": ">=5.5.0",
    "guzzlehttp/guzzle": "^6.0",
    "psr/http-message": "^1.0",
    "psr/log": "^1.0"
},

次に、対応するパッケージを パッカジスト のサイトで対応するパッケージを見つけなければなりません。それぞれの依存関係に対して同じプロセスを繰り返します: 追加の依存関係を対応する composer.json ファイルで追加の依存関係を見つけ、再度検索します。

最終的に必要なパッケージの完全なリストを手に入れたら、あとはそれらをひとつずつインストールするだけです。ほとんどの場合、プロジェクトディレクトリのどこかにファイルを置くだけでよいのです。しかし、PHP が必要なクラスを見つけられるようにする必要があります。Composer のオートローダを使用していないので、独自のオートローダに追加する必要があります。この情報は、それぞれの composer.json ファイルから把握できます。

"autoload": {
    "psr-4": { "Coinbase\\Wallet\\": "src/" }
},

クラスのオートローダを使用しない場合は、個々の require_once ステートメントを理解する必要があります。ほとんどのライブラリの作者はそれを文書化することを気にしないので、おそらく多くの試行錯誤が必要でしょう。

また、この件に関して混乱がある場合に備えて。

  • Composer には、Windows 用の公式 GUI インストーラーと コピーアンドペースト コマンドラインのインストール手順があります。
  • Composer はローカルで実行でき、その出力は他の場所にアップロードするだけです。共有ホスティングで SSH を使用する必要はありません。
  • ライブラリをインストールするのに必要なコマンドは、パッケージのウェブサイトからコピー&ペーストできます。パッケージメンテナがそれを文書化するのを気にしなかったとしても、packagist.org はデフォルトでそれを生成します。

Composer は完璧ではなく、すべてのユースケースに適合するわけではありませんが、それに依存するライブラリのインストールに関しては、間違いなく最良の代替案であり、かなりまともなものです。


私の回答の後に来た他の回答を確認しました。それらはほとんど2つのカテゴリに分類されます。

  1. ライブラリをインストールし、それを使用してカスタムのダウンロード スクリプトを記述します。
  2. Composer 用のオンライン Web ベースのインターフェイスを使用する

私が何かを見逃していない限り、どれも OP で表明された不満に対処していません。

  • 学習曲線
  • サードパーティソフトウェアの使用
  • サーバー上で直接開発可能 (SSHを使用すると思われます)
  • 深い依存関係ツリー