[ Composer](https://getcomposer.org/)は、PHP依存関係マネージャーです(Node.jsのnpmまたはPythonのpipに似ています)。
Composerは、プロジェクトが依存するすべてのPHPパッケージをプルし、それらを管理します。これは、Laravel、Symfony、Drupal、Magento 2など、すべての最新のPHPフレームワークおよびプラットフォームで使用されます。
このガイドでは、ComposerをCentOS8にインストールする手順を紹介します。急いでいてファイルの整合性を確認したくない場合は、「Composerのクイックインストール」セクションまでスクロールダウンしてください。
以下の手順に進む前に、次の前提条件を満たしていることを確認してください。
CentOS 8で次の手順を実行して、Composerをインストールします。
sudo dnf install php-cli php-json php-zip wget unzip
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
上記のコマンドは、現在の作業ディレクトリにある composer-setup.php
という名前のファイルをダウンロードします。
SHA-384
のハッシュ値を[omposer Public Keys / Signatures](https://composer.github.io/pubkeys.html)ページのハッシュ値と比較します。次のwgetコマンドは、ComposerのGithubページから最新のComposer署名をダウンロードし、それを HASH
という名前の変数として保存します。
HASH="$(wget -q -O - https://composer.github.io/installer.sig)"
インストールスクリプトが破損しているかどうかを確認するには、次のコマンドを実行します。
php -r "if (hash_file('SHA384', 'composer-setup.php') === '$HASH') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
ハッシュ値が一致する場合、次の情報が表示されます:
Installer verified
それ以外の場合、ハッシュ値が一致しないと、「インストーラーが破損しています」と表示されます。整合性が確認されたら、次の手順に進んでください。
/ usr / local / bin
ディレクトリにインストールします。sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer
上記のコマンドは、すべてのユーザーが使用できるシステム全体のコマンドとして composer
をインストールします。出力は次のようになります。
All settings correct for using Composer
Downloading...Composer(version 1.10.1) successfully installed to:/usr/local/bin/composer
Use it: php /usr/local/bin/composer
composer -V
Composer version 1.10.12020-03-1320:34:27
この時点で、ComposerがCentOSシステムに正常にインストールされ、使用を開始できます。
次の手順を実行して、ComposerをCentOS8システムにすばやくインストールします。
sudo dnf install php-cli php-json php-zip curl unzip
curl -sS https://getcomposer.org/installer |php
/ usr / local / bin
ディレクトリに移動します。sudo mv composer.phar /usr/local/bin/composer
これでComposerがCentOSシステムにインストールされたので、PHPプロジェクトでComposerを使用する方法を説明します。
プロジェクトの作成を開始し、プロジェクトのルートディレクトリに切り替えます。
mkdir ~/my-first-composer-project
cd ~/my-first-composer-project
この例では、[carbon](https://carbon.nesbot.com/docs/)というPHPパッケージを使用して、単純なアプリケーションを作成します。このアプリケーションは、主に現在の時刻を印刷するために使用されます。
次のコマンドを実行して、新しいComposerプロジェクトを初期化し、carbonパッケージをインストールします。
composer require nesbot/carbon
sing version ^2.32for nesbot/carbon
. /composer.json has been created
Loading composer repositories withpackage information
Updating dependencies(including require-dev)
Package operations:4 installs,0 updates,0 removals
- Installing symfony/translation-contracts(v2.0.1):Downloading(connecting..Downloading(100%)- Installing symfony/polyfill-mbstring(v1.15.0):Downloading(100%)- Installing symfony/translation(v5.0.6):Downloading(100%)- Installing nesbot/carbon(2.32.1):Downloading(100%)
symfony/polyfill-mbstring suggests installing ext-mbstring(For best performance)
symfony/translation suggests installing symfony/config
symfony/translation suggests installing symfony/yaml
symfony/translation suggests installing psr/log-implementation(To use logging capability in translator)
Writing lock file
Generating autoload files
3 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
上記の出力からわかるように、Composerは composer.json
という名前のファイルを作成し、carbonとそのすべての依存パッケージをダウンロードしました。
プロジェクトディレクトリを一覧表示すると、 composer.json
と composer.lock
、および vendor
ディレクトリが含まれていることがわかります。
ls -l
- rw-rw-r--.1 vagrant vagrant 60 Mar 2718:05 composer.json
- rw-rw-r--.1 vagrant vagrant 11135 Mar 2718:06 composer.lock
drwxrwxr-x.6 vagrant vagrant 82 Mar 2718:06 vendor
vendor
は、プロジェクトの依存ソフトウェアパッケージが保存されているディレクトリです。
composer.lock
ファイルには、インストールされているすべての依存パッケージとそのバージョン番号のリストが含まれています。
composer.json
は、PHPプロジェクトを記述するために使用されるファイルであり、PHPに依存するパッケージやその他のメタ情報が含まれています。
[Composerソースリポジトリ](https://packagist.org/)を検索して、さらに多くのPHPパッケージを入手できます。
Composerには自動的にロードする機能があり、 require
および include
宣言の代わりにPHPクラスを使用できます。
testing.php
という名前のテストファイルを作成し、次のコードを追加します。
<? php
require __DIR__ .'/vendor/autoload.php';
use Carbon\Carbon;printf("Now: %s", Carbon::now());
コードを1行ずつ分析してみましょう。
最初の行が開いているPHPタグの後に、 / vendor / autoload.php
ファイルを含めます。これによりすべてのライブラリを自動的にロードできます。
次に、 Carbon \ Carbon
を Carbon
に関連付けます。最後の行では、 Carbon
を使用して現在の時刻を出力します。
次のコマンドを入力して、スクリプトを実行します。
php testing.php
出力は次のようになります。
Now:2020-03-2722:12:26
後で、PHPパッケージをアップグレードする場合は、次のコマンドを実行するだけです。
composer update
上記のコマンドを使用して、インストールされているすべてのパッケージに新しいバージョンがあるかどうかを確認し、新しいバージョンがある場合は、Composerがパッケージをアップグレードします。
CentOS8マシンにComposerをインストールする方法を学習しました。また、Composerを使用して基本的なPHPプロジェクトを作成する方法も示しました。
Composerの詳細については、[Composer公式ドキュメントページ](https://getcomposer.org/doc/)にアクセスしてください。
Recommended Posts