GNU/Linux >> Linux の 問題 >  >> Debian

Debian10にPHPComposerをインストールして使用する方法

ComposerはPHPの依存関係マネージャーです(Node.jsのnpmまたはPythonのpipに似ています)。

Composerは、プロジェクトが依存する必要なすべてのPHPパッケージを取り込み、それらを管理します。 Laravel、Symfony、Drupal、Magentoなどの最新のPHPフレームワークとプラットフォームすべてで使用されています。

この記事では、Debian10システムにComposerをインストールする方法について説明します。また、Composerを使用してPHPプロジェクトを作成および管理する方法についても説明します。

DebianへのComposerのインストール#

Composerをインストールする前に、Debianシステムに必要なすべてのパッケージがインストールされていることを確認してください。

sudo apt updatesudo apt install wget php-cli php-zip unzip

Composerは、Composerのインストールに使用するPHPで記述されたインストーラーを提供します。

wgetを使用してインストーラーをダウンロードします :

wget -O composer-setup.php https://getcomposer.org/installer

上記のコマンドは、ファイルをcomposer-setup.phpとして保存します。 現在の作業ディレクトリにあります。

Composerは、グローバルに、またはプロジェクトの一部としてインストールできる単一ファイルのCLIアプリケーションです。グローバルインストールにはsudo権限が必要です。

  • すべてのユーザーが使用できるシステム全体のコマンドとしてComposerをグローバルにインストールするには、システムのPATHにあるディレクトリにファイルを配置するだけです。 。次のコマンドは、Composerを/usr/local/binにインストールします。 ディレクトリ:

    sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer
    All settings correct for using Composer
    Downloading...
    
    Composer (version 1.10.10) successfully installed to: /usr/local/bin/composer
    Use it: php /usr/local/bin/composer

    composerを実行してComposerを使用できるようになりました ターミナルで。

  • Composerをローカルにインストールするには、プロジェクトのルートディレクトリにあるファイルをダウンロードします。

    sudo php composer-setup.php --install-dir=/path/to/project

    これにより、composer.pharという名前のファイルがダウンロードされます。 。 Composerを使用するには、プロジェクトディレクトリに移動し、php composer.pharを実行します。

新しいComposerバージョンが利用可能になったら、次のコマンドを使用してインストールを更新できます。

sudo composer self-update  

Composerの使用を開始する#

DebianシステムにComposerがインストールされたので、PHPプロジェクトを作成する方法を説明します。

プロジェクトルートとなるディレクトリを作成することから始め、composer.jsonを保持します ファイル。このファイルは、PHPの依存関係やその他のメタデータを含むPHPプロジェクトについて説明しています。

次のコマンドを実行してプロジェクトディレクトリを作成し、次のコマンドで切り替えます。

mkdir ~/my-first-composer-projectcd ~/my-first-composer-project

次に、新しいcomposer.jsonを初期化します composer require <package name>が必要です コマンドを実行し、ダウンロードするパッケージを指定します。この例では、carbonという名前のパッケージを使用して現在の時刻を印刷するサンプルアプリケーションを作成します。

次のコマンドを実行して、新しいcomposer.jsonを初期化します。 カーボンパッケージをファイルしてインストールします:

composer require nesbot/carbon
./composer.json has been created
Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 5 installs, 0 updates, 0 removals
  - Installing symfony/translation-contracts (v2.1.3): Downloading (100%)         
  - Installing symfony/polyfill-php80 (v1.18.1): Downloading (100%)         
  - Installing symfony/polyfill-mbstring (v1.18.1): Downloading (100%)         
  - Installing symfony/translation (v5.1.3): Downloading (100%)         
  - Installing nesbot/carbon (2.38.0): 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
5 packages you are using are looking for funding.
Use the `composer fund` command to find out more

出力に示されているように、Composerはcomposer.jsonを作成します カーボンとそのすべての依存関係をファイルし、ダウンロードしてインストールします。

lsを使用してプロジェクトのディレクトリを一覧表示する場合 、2つのファイルcomposer.jsonが含まれていることがわかります およびcomposer.lock 、およびvendor ディレクトリ。

ls -l
-rw-r--r-- 1 linuxize users   60 Aug 17 21:02 composer.json
-rw-r--r-- 1 linuxize users 6851 Aug 17 21:02 composer.lock
drwxr-xr-x 5 linuxize users 4096 Aug 17 21:02 vendor
  • vendor -プロジェクトの依存関係が保存されているディレクトリ。
  • composer.lock -パッケージのバージョンを含む、インストールされているすべてのパッケージのリストを含むファイル。
  • composer.json -PHPプロジェクトとすべてのPHP依存関係を説明するファイル。
ComposerリポジトリPackagistでPHPパッケージを検索できます。

Composerは、requireを必要とせずにPHPクラスを使用できるようにする自動ロード機能を提供します またはinclude ファイル。

testing.phpという名前のファイルを作成します 次のコードを貼り付けます:

<?php

require __DIR__ . '/vendor/autoload.php';

use Carbon\Carbon;

printf("Now: %s", Carbon::now());

コードを1行ずつ分析してみましょう。

開始phpタグの後の最初の行には、vendor/autoload.phpが含まれています。 Composerによって自動的に生成されたファイル。このファイルは、必要なすべてのライブラリを自動ロードします。

次に、Carbon\Carbonのエイリアスを作成します Carbonとして 、最後の行では、Carbon nowを使用して現在の時刻を印刷しています。 メソッド。

次のように入力してスクリプトを実行します:

php testing.php

出力は次のようになります。

Now: 2020-08-17 21:08:45

後で、プロジェクトパッケージを更新する必要がある場合は、次のように入力します。

composer update

上記のコマンドは、インストールされているパッケージの新しいバージョンをチェックし、新しいバージョンが見つかり、バージョンの制約がcomposer.jsonで指定されたものと一致するかどうかを確認します。 、Composerがパッケージを更新します。


Debian
  1. DebianLinuxにPHPComposerをインストールする方法

  2. Debian11にAnsibleをインストールして使用する方法

  3. Debian11BullseyeにPHPComposerをインストールして使用する方法

  1. Ubuntu16.04にPHPComposerをインストールして使用する方法

  2. Ubuntu18.04にPHPComposerをインストールして使用する方法

  3. PHPComposerをDebian8にインストールする方法

  1. CentOS7にPHPComposerをインストールして使用する方法

  2. Debianバックポートをインストールして使用する方法

  3. Ubuntu20.04にPHPComposerをインストールして使用する方法